Case Study  ·  Produto Full-Stack

TryCareerMatch

Uma app full-stack de descoberta de carreira que mapeia mais de 125 competências contra mais de 85 funções em 10 setores, feita para ajudar profissionais com percursos não-lineares a descobrir onde realmente encaixam.

Next.js 15 · TypeScript FastAPI · Python PostgreSQL Scoring por regras UX Design Sem registo
Lançado em set 2025 Reconstruído em full-stack Projeto a solo
125+
Competências mapeadas
85+
Funções cobertas
10
Setores de atividade
0
Registo necessário
O Problema

Profissionais com percursos não-lineares (pessoas que combinaram design com finanças, ou trabalho técnico com estratégia de produto) têm dificuldade em articular onde encaixam no mercado de trabalho.

As ferramentas de carreira tradicionais assumem que encaixas num arquétipo limpo. Não têm em conta a realidade de que muitos profissionais valiosos abrangem vários domínios e que as suas melhores correspondências não são óbvias só a partir de um título de função.

O resultado: CVs mal direcionados, candidaturas desperdiçadas e a sensação persistente de “sou qualificado, mas não sei como me intitular”.

A Solução

O TryCareerMatch constrói um perfil completo através de um onboarding guiado em 6 passos que cobre formação, experiência, competências, interesses e estilo de trabalho. O utilizador escolhe as competências relevantes (com pesquisa e sugestões) e classifica a sua proficiência. Um motor baseado em regras no servidor pontua depois o seu encaixe em mais de 85 funções em 10 setores.

O resultado não é uma única “melhor correspondência”; as funções são ordenadas em três níveis (Pronto agora, Com upskilling, Objetivos a longo prazo), cada um com um detalhe de pontuação por dimensão, análise de lacunas de competências (“principais competências a desenvolver”), orientação de percurso e senioridade, e uma leitura narrativa do perfil, coroado por um arquétipo de carreira híbrido que dá nome à combinação de pontos fortes do utilizador.

Não é preciso conta para o teu relatório gratuito. Existem add-ons pagos opcionais (um relatório mais profundo, coaching) e um fluxo para guardares os resultados, mas nada disto é obrigatório para veres os teus resultados. Resultados em cerca de 5 minutos.

Processo

Como Foi Construído

De um protótipo client-side a um produto full-stack, reconstruído e iterado desde o lançamento.

01
Pesquisa & Âmbito
Mapeei as ferramentas de carreira existentes e identifiquei a lacuna para perfis multidisciplinares. Defini o âmbito: que competências, que funções e que setores produziriam sinal relevante.
02
Desenho do Modelo de Dados
Construí uma taxonomia de mais de 125 competências em 11 grupos, mais um perfil de importância para cada uma das mais de 85 funções, cobrindo competências obrigatórias (“must-have”), formação típica e expectativas de experiência. Modelado em PostgreSQL.
03
UX & Interface
Desenhei um onboarding guiado em 6 passos (Formação · Experiência · Competências · Interesses · Estilo de Trabalho · Revisão) com pills segmentados, steppers, chips e cartões selecionáveis, não listas de sliders infinitas. Ecrã de resultados com correspondências por níveis, detalhe de pontuações e lacunas de competências.
04
Construção & Lançamento
Construído como app full-stack: um frontend Next.js 15 + TypeScript + Tailwind na Vercel, um backend FastAPI + SQLAlchemy assíncrono na Railway, e PostgreSQL na Neon. O motor de scoring corre no servidor.
Nos bastidores

O Modelo de Scoring

Cada uma das mais de 85 funções tem um perfil de importância ao longo das mais de 125 competências, além das competências obrigatórias (“must-have”) e da formação e experiência típicas.

O motor pontua quatro blocos ponderados: competências centrais (50%), competências adjacentes (20%), formação (15%) e experiência (15%). Depois penaliza competências must-have em falta, infere competências comportamentais, alinha interesses (RIASEC) e deixa que formação e experiência fortes compensem uma à outra.

É por isto que um Data Analyst com SQL e Power BI fortes mas gestão de stakeholders limitada pontua mais alto em funções de analista do que em funções de produto, mesmo quando ambas aparecem nos resultados.

A taxonomia de competências abrange 11 grupos em negócio, dados, finanças, produto, design e mais. Uma passagem separada baseada em regras escreve a narrativa no relatório gratuito. O motor de correspondência e ordenação é 100% baseado em regras, e será sempre. O único LLM em todo o produto está num novo nível pago do relatório, que usa o Claude para gerar uma narrativa personalizada mais profunda por cima dessas mesmas pontuações baseadas em regras.

Exemplo: perfil de correspondência para “Senior Data Analyst”
SQL / Queries
100%
Python / Pandas
90%
Power BI / DAX
85%
Modelação de Dados
82%
Gestão Stakeholders
45%
Roadmaps de Produto
20%
Os pesos das competências variam por função. A mesma competência pode ser crítica para uma função e irrelevante para outra.
Identidade

O teu arquétipo de carreira

O relatório não se limita a ordenar funções. Abre com quem tu és. Onze arquétipos híbridos são construídos a partir de cinco forças de carreira: Insight, Craft, Market, People e Order.

As forças nunca são perguntadas. São inferidas a partir do mesmo perfil que o utilizador já preencheu. Cada grupo de competências e domínio de experiência mapeia para uma força. As duas principais combinam-se numa “ponte” com nome (dez dessas); uma terceira forte torna-te o décimo primeiro, The Polymath.

É puramente aditivo. Lê o retrato da pontuação e nunca altera uma pontuação. E é honesto: com pouco sinal devolve nenhum arquétipo em vez de inventar um, e cada resultado traz um nível de confiança.

Exemplo: “The Architect” · Insight × Craft
Insight
92
Craft
78
Order
54
Market
33
People
21
Uma impressão digital de 0–100 por força. As duas principais dão nome ao arquétipo; cada força conta apenas as suas competências mais fortes, por isso a identidade vem da profundidade, não do volume.
Tecnologia

Stack

Uma app full-stack onde a profundidade está no motor de scoring e no modelo de dados.

Next.js 15 · TypeScript
Frontend construído com Next.js 15 (App Router), TypeScript e Tailwind CSS. Em produção na Vercel, com CDN global e deploys automáticos via Git.
FastAPI · Python
Backend em FastAPI com SQLAlchemy assíncrono. O motor de scoring corre no servidor, não no browser. Alojado na Railway.
PostgreSQL (Neon)
Funções, a taxonomia de mais de 125 competências e os perfis de importância por função, persistidos em PostgreSQL na Neon (Postgres serverless).
Motor de Scoring por Regras
Quatro blocos ponderados (centrais, adjacentes, formação, experiência), penalizações por competências must-have em falta, alinhamento de interesses RIASEC e inferência de competências comportamentais. A correspondência e a ordenação são 100% baseadas em regras, e sempre serão. Um novo nível pago do relatório usa opcionalmente o Claude para uma narrativa mais profunda, mas nenhum LLM toca alguma vez no scoring.
Figma (UX Design)
Um onboarding guiado em 6 passos (Formação · Experiência · Competências · Interesses · Estilo de Trabalho · Revisão), prototipado em Figma. Desenhado para chegar a resultados em cerca de 5 minutos.
Construção com IA
Claude usado ao longo do desenvolvimento para scaffolding, dados de funções e competências, desenho das regras de scoring e debugging. No produto, a correspondência e a ordenação não usam qualquer LLM. O único LLM em runtime é uma narrativa opcional gerada pelo Claude num novo nível pago do relatório.
Retrospetiva

Lições Aprendidas

O que resultou, e o que eu abordaria de forma diferente da próxima vez.

O que resultou
Reconstruir em full-stack
O protótipo client-side provou o conceito. Mover o motor para o servidor (FastAPI + PostgreSQL) permitiu que o scoring crescesse (penalizações must-have, alinhamento de interesses, relatórios mais ricos) sem enviar toda a lógica e os dados para o browser.
O que resultou
Desenhar primeiro os dados
Dedicar as primeiras duas semanas inteiramente à taxonomia de competências e às matrizes de funções (antes de escrever uma única linha de UI) compensou imenso. O desenho de UX foi simples assim que o modelo de dados estava sólido.
O que resultou
Zero fricção de registo
Remover toda a fricção da experiência (sem conta, sem email, resultados imediatos) foi a decisão de produto certa. A taxa de conversão de quem entra para quem completa a avaliação é alta.
O que resultou
Fechar a lacuna dos resultados guardados
Isto começou como uma lacuna que eu tinha assinalado aqui, e foi lançado. O utilizador pode agora guardar o seu perfil através de um email com magic-link sem palavra-passe e voltar aos resultados mais tarde, sem repetir a avaliação de 6 passos.
O que eu mudaria
Pesos de competências mais granulares
O modelo atual usa pesos inteiros (0–3). Uma escala contínua ou a decomposição em subcompetências produziria resultados mais matizados; essa parte continua na lista. A senioridade, que eu tinha assinalado aqui no início, já foi entretanto construída: gating por job-zone em cada função e etiquetagem de resultados sensível à senioridade.
O que eu mudaria
Analytics desde o dia um
Adicionei analytics depois do lançamento. Começar logo com tracking de eventos básico (em que competências os utilizadores pontuam mais alto, onde abandonam a avaliação) ter-me-ia dado dados muito melhores para melhorar o produto logo na semana 2.
Experimenta

Vê até onde as tuas competências te levam

Completa a avaliação em cerca de 5 minutos, grátis e sem precisares de conta. Apenas um olhar honesto sobre onde o teu perfil encaixa.