+ {app.name} +
++ {app.description} +
+ + {app.kind === 'published' && ( + + Ver na Play Store + + )} +diff --git a/docs/superpowers/plans/2026-10-30-aplicativos-portfolio.md b/docs/superpowers/plans/2026-10-30-aplicativos-portfolio.md
new file mode 100644
index 0000000..e7bf21c
--- /dev/null
+++ b/docs/superpowers/plans/2026-10-30-aplicativos-portfolio.md
@@ -0,0 +1,77 @@
+# Aplicativos Help DEV Implementation Plan
+
+> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking.
+
+**Goal:** Add a Portuguese portfolio page with six separate Google Play app cards and a CuidaZ “Em Breve” card.
+
+**Architecture:** Keep app content in a static typed data module, render it with a focused portfolio card component, and use local image assets for every card. Add the `/apps` route to the existing navigation, footer, metadata, and static sitemap.
+
+**Tech Stack:** Next.js 15 App Router, React 19, TypeScript, Tailwind CSS, static export.
+
+**Spec:** `docs/superpowers/specs/2026-10-30-aplicativos-portfolio-design.md`
+
+## Global Constraints
+
+- Keep the page in Portuguese and maintain the site's current responsive Tailwind styling.
+- Show seven cards: six published apps and one CuidaZ preview.
+- Keep each Cronômetro listing separate, with a distinct Google Play link.
+- Every card must display a description.
+- Do not show a Google Play CTA on CuidaZ; display an “Em Breve” ribbon and its existing horizontal logo.
+- Preserve the existing static export configuration and the untracked CuidaZ privacy-policy source file.
+- Do not add a test framework or test files; the repository has no tests configured.
+
+## Review Focus
+
+- App-to-store mapping: check every published card points to its matching package ID from the spec.
+- Card copy: check that all seven descriptions are rendered in full and remain readable.
+- Coming-soon behavior: check that CuidaZ shows “Em Breve” and does not become a dead or misleading store link.
+- Local imagery: check each image file exists, displays correctly, and uses the CuidaZ horizontal logo on its card.
+- Responsive access: check the new navigation link appears beside Projetos in desktop and mobile menus and the grid fits narrow screens.
+
+---
+
+### Task 1: Prepare local app imagery
+
+**Files:**
+- Create: `public/images/apps/`
+- Create: one Play Store promotional image and app icon per published listing, plus `cuidaz-logo.png`.
+
+**Interfaces:**
+- Produces the local image paths consumed by `src/data/apps.ts` in Task 2.
+
+- [x] Download the promotional image from the developer profile and the app icon for each package listed in the spec. Save them under stable, readable filenames in `public/images/apps/`, keeping the correct file extensions.
+- [x] Copy `/Volumes/gbz-ext/repositories/helpdev/cuidaz/assets/marca/logos/cuidaz-horizontal-transparente.png` to `public/images/apps/cuidaz-logo.png`.
+- [x] Check all 13 files exist and are valid images; visually inspect the CuidaZ logo and one promotional image from each listing.
+
+### Task 2: Build the app catalog and portfolio cards
+
+**Files:**
+- Create: `src/data/apps.ts`
+- Create: `src/app/components/AppCard/index.tsx`
+- Create: `src/app/apps/page.tsx`
+
+**Interfaces:**
+- `src/data/apps.ts` exports a `PortfolioApp` discriminated union and a `portfolioApps: PortfolioApp[]` in display order.
+- A published app has its name, full short description, promotional image path, icon path, and exact Play Store URL. CuidaZ has its name, description, local logo path, and `kind: 'coming-soon'` with no store URL.
+- `AppCard` accepts one `PortfolioApp` and renders the appropriate published or coming-soon treatment.
+
+- [x] Add all six Play Store listings from the spec to `portfolioApps`, preserving their exact names and descriptions, with one unique store URL per listing.
+- [x] Add CuidaZ with the description “Organize pacientes, agenda, atendimentos, evoluções clínicas e recebimentos.” and no store link.
+- [x] Render published cards with a promotional image, app icon, full description, and “Ver na Play Store” external link; render CuidaZ with its horizontal logo and an “Em Breve” ribbon.
+- [x] Build `/apps` with one H1, short introduction, and a responsive grid that shows all seven cards without truncating descriptions.
+- [x] Define page metadata, canonical `/apps`, and Open Graph information in `src/app/apps/page.tsx` so it cannot affect nested privacy-policy metadata.
+
+### Task 3: Add navigation and validate the static page
+
+**Files:**
+- Modify: `src/app/components/Navbar/index.tsx`
+- Modify: `src/app/components/Footer/index.tsx`
+- Modify: `src/app/sitemap.ts`
+
+**Interfaces:**
+- The existing Navbar uses `usePathname()` and `isActive()` for route state; reuse that behavior for `/apps`.
+
+- [x] Add an “Aplicativos” link immediately after “Projetos” in both desktop and mobile navigation, with active styling on `/apps` and mobile menu close behavior.
+- [x] Add an “Aplicativos” link to the footer and `/apps` to the sitemap route list.
+- [x] Run `git diff --check` and `npm run build`; confirm a generated `/apps` static page is present under `out/` and all local image paths are emitted.
+- [x] Review the final diff to confirm only the approved portfolio scope changed and the pre-existing untracked CuidaZ privacy-policy file is untouched.
diff --git a/docs/superpowers/specs/2026-10-30-aplicativos-portfolio-design.md b/docs/superpowers/specs/2026-10-30-aplicativos-portfolio-design.md
new file mode 100644
index 0000000..afbbed8
--- /dev/null
+++ b/docs/superpowers/specs/2026-10-30-aplicativos-portfolio-design.md
@@ -0,0 +1,61 @@
+# Aplicativos Help DEV — Design
+
+## Intent
+
+Create a portfolio page that makes Help DEV's Google Play apps easy to discover and open. Add an “Aplicativos” item beside “Projetos” in the site navigation.
+
+## Goals
+
+- Publish a responsive `/apps` page with seven portfolio cards: one for each of the six current Help DEV listings on Google Play, plus CuidaZ marked “Em Breve”.
+- Put a description on every card. Published apps also get their store icon, the promotional image shown on the Play Store developer profile, and a clear link to that exact listing.
+- Use the CuidaZ brand logo from its app repository for the upcoming card.
+- Match the existing Next.js, Tailwind, and static-export setup.
+- Include the page in the sitemap and give it page-specific metadata.
+
+## Non-goals and anti-goals
+
+- Do not group the three LapsCounter listings; running, cycling, and swimming each get their own card and store link.
+- Do not imply that CuidaZ is already published or provide a Play Store link for it.
+- Do not add app detail pages, install flows, ratings, reviews, or data that is not needed for this portfolio.
+- Do not change the existing privacy-policy pages, including the untracked CuidaZ policy already in the worktree.
+
+## Confirmed listings
+
+The developer profile currently returns these six listings. Titles and short descriptions are from their Play Store pages.
+
+| App | Play Store package | Short description |
+| --- | --- | --- |
+| Minha Obra | `br.com.helpdev.minhareforma` | Organize orçamento, gastos e pagamentos da sua obra ou reforma. |
+| AtendFlow | `com.helpdev.atendflow` | Organize clientes, agendamentos e cobranças em um só lugar. |
+| Velocímetro Alerta | `br.com.helpdev.velocimetroalerta.v2` | Alertas de velocidade por voz por tempo ou distância, sem olhar para a tela. |
+| Cronômetro de corrida | `br.com.helpdev.lapscounter.running` | Marque trechos e acompanhe ritmo, distância e tempo total. |
+| Cronômetro de ciclismo | `br.com.helpdev.lapscounter.cycling` | Marque trechos e acompanhe distância, tempo e velocidade média. |
+| Cronômetro de Natação | `br.com.helpdev.lapscounter.swimming` | Marque voltas e acompanhe distância e ritmo na natação. |
+| CuidaZ (Em Breve) | Ainda sem listagem pública | Organize pacientes, agenda, atendimentos, evoluções clínicas e recebimentos. |
+
+## Approaches
+
+1. **Six independent published-app cards plus a CuidaZ preview (chosen).** Each Play Store listing has its own card, promotional image, app icon, description, and Google Play CTA. CuidaZ has a separate card with its repository logo, description, and an “Em Breve” ribbon, without a store CTA. This follows the user's preference to keep all three Cronômetro apps separate and gives every listing equal visibility.
+2. **Group the three Cronômetro listings under LapsCounter.** This would reduce repetition, but it does not match the user's preference to present each app separately.
+3. **Compact list of store links.** This is the smallest change, but it would not give the page the requested portfolio presentation.
+
+## Design and implementation calls
+
+- The new route is `/apps`, matching the existing English route segments and the existing `src/app/apps/` privacy-policy routes.
+- Add the navigation link in desktop and mobile menus, next to “Projetos”. Mark it active on `/apps`.
+- Present a short page heading and introduction, followed by a responsive grid of seven cards. Each published-app card uses the promotional image from its Play Store developer-profile listing, the app icon alongside the name, the store description, and a “Ver na Play Store” link that opens the exact listing in a new tab.
+- Give CuidaZ a separate “Em Breve” ribbon and use `cuidaz/assets/marca/logos/cuidaz-horizontal-transparente.png` from the CuidaZ repository. Its description is “Organize pacientes, agenda, atendimentos, evoluções clínicas e recebimentos.” Do not make the card clickable or show an unavailable store link.
+- Copy the Play Store promotional images and icons, and the CuidaZ logo, into `public/images/apps/` so the static site does not depend on external image URLs at runtime.
+- Add `/apps` to `src/app/sitemap.ts` and define metadata in `src/app/apps/page.tsx` so portfolio metadata does not propagate to nested privacy-policy routes.
+- The existing footer lists primary site pages; add “Aplicativos” there to keep site navigation consistent.
+
+## Constraints and success criteria
+
+- Preserve the existing static export configuration and the user's current untracked CuidaZ privacy-policy file.
+- Keep the page in Portuguese and maintain the site's current responsive Tailwind styling.
+- Success means the page shows six cards with correct local imagery, descriptions, and exact Google Play targets, plus the CuidaZ logo, description, and “Em Breve” ribbon; the desktop and mobile navigation both reach `/apps`; the page is present in the sitemap and static production build.
+
+## Remaining implementation choices
+
+- The builder may choose the exact card spacing, color accents, and image crop to fit the existing site components.
+- Prefer semantic links, descriptive image alt text, and a responsive layout with no horizontal overflow.
diff --git a/public/images/apps/atendflow-icon.png b/public/images/apps/atendflow-icon.png
new file mode 100644
index 0000000..3d0eb20
Binary files /dev/null and b/public/images/apps/atendflow-icon.png differ
diff --git a/public/images/apps/atendflow-promotional.png b/public/images/apps/atendflow-promotional.png
new file mode 100644
index 0000000..8a09266
Binary files /dev/null and b/public/images/apps/atendflow-promotional.png differ
diff --git a/public/images/apps/cronometro-ciclismo-icon.png b/public/images/apps/cronometro-ciclismo-icon.png
new file mode 100644
index 0000000..ea72e1c
Binary files /dev/null and b/public/images/apps/cronometro-ciclismo-icon.png differ
diff --git a/public/images/apps/cronometro-ciclismo-promotional.png b/public/images/apps/cronometro-ciclismo-promotional.png
new file mode 100644
index 0000000..3053004
Binary files /dev/null and b/public/images/apps/cronometro-ciclismo-promotional.png differ
diff --git a/public/images/apps/cronometro-corrida-icon.png b/public/images/apps/cronometro-corrida-icon.png
new file mode 100644
index 0000000..d48e5e7
Binary files /dev/null and b/public/images/apps/cronometro-corrida-icon.png differ
diff --git a/public/images/apps/cronometro-corrida-promotional.png b/public/images/apps/cronometro-corrida-promotional.png
new file mode 100644
index 0000000..1b936a1
Binary files /dev/null and b/public/images/apps/cronometro-corrida-promotional.png differ
diff --git a/public/images/apps/cronometro-natacao-icon.png b/public/images/apps/cronometro-natacao-icon.png
new file mode 100644
index 0000000..70a05d0
Binary files /dev/null and b/public/images/apps/cronometro-natacao-icon.png differ
diff --git a/public/images/apps/cronometro-natacao-promotional.png b/public/images/apps/cronometro-natacao-promotional.png
new file mode 100644
index 0000000..04a94bc
Binary files /dev/null and b/public/images/apps/cronometro-natacao-promotional.png differ
diff --git a/public/images/apps/cuidaz-logo.png b/public/images/apps/cuidaz-logo.png
new file mode 100644
index 0000000..56695c5
Binary files /dev/null and b/public/images/apps/cuidaz-logo.png differ
diff --git a/public/images/apps/minha-obra-icon.png b/public/images/apps/minha-obra-icon.png
new file mode 100644
index 0000000..f2ab879
Binary files /dev/null and b/public/images/apps/minha-obra-icon.png differ
diff --git a/public/images/apps/minha-obra-promotional.png b/public/images/apps/minha-obra-promotional.png
new file mode 100644
index 0000000..9944489
Binary files /dev/null and b/public/images/apps/minha-obra-promotional.png differ
diff --git a/public/images/apps/velocimetro-alerta-icon.png b/public/images/apps/velocimetro-alerta-icon.png
new file mode 100644
index 0000000..9fc5117
Binary files /dev/null and b/public/images/apps/velocimetro-alerta-icon.png differ
diff --git a/public/images/apps/velocimetro-alerta-promotional.png b/public/images/apps/velocimetro-alerta-promotional.png
new file mode 100644
index 0000000..7d1fafe
Binary files /dev/null and b/public/images/apps/velocimetro-alerta-promotional.png differ
diff --git a/src/app/apps/page.tsx b/src/app/apps/page.tsx
new file mode 100644
index 0000000..272001f
--- /dev/null
+++ b/src/app/apps/page.tsx
@@ -0,0 +1,57 @@
+import type { Metadata } from 'next';
+import { Navbar } from '../components/Navbar';
+import { AppCard } from '../components/AppCard';
+import { portfolioApps } from '@/data/apps';
+
+export const metadata: Metadata = {
+ title: 'Aplicativos',
+ description: 'Conheça os aplicativos da Help DEV para organização, mobilidade e esporte, além do próximo lançamento CuidaZ.',
+ keywords: ['aplicativos', 'Google Play', 'Help DEV', 'Minha Obra', 'AtendFlow', 'Velocímetro Alerta', 'CuidaZ'],
+ authors: [{ name: 'Guilherme Biff Zarelli' }],
+ alternates: { canonical: '/apps' },
+ openGraph: {
+ url: '/apps',
+ title: 'Aplicativos | HelpDev',
+ description: 'Aplicativos da Help DEV para organização, mobilidade e esporte, além do próximo lançamento CuidaZ.',
+ type: 'website',
+ images: [{
+ url: 'https://helpdev.com.br/images/logo.png',
+ width: 1200,
+ height: 630,
+ alt: 'Aplicativos HelpDev',
+ }],
+ },
+ twitter: {
+ card: 'summary_large_image',
+ title: 'Aplicativos | HelpDev',
+ description: 'Aplicativos da Help DEV para organização, mobilidade e esporte, além do próximo lançamento CuidaZ.',
+ images: ['https://helpdev.com.br/images/logo.png'],
+ creator: '@gbzarelli',
+ site: '@_helpdev',
+ },
+};
+
+export default function AppsPage() {
+ return (
+
+ Aplicativos da Help DEV para organização, mobilidade e esporte — e o próximo lançamento CuidaZ.
+
+ {app.description}
+ Aplicativos
+
+ {app.name}
+
+