Indústria

SaaS · Marketplace

Cliente

Upfound · Produto próprio

Papel

Founder, UX e Eng.

Ano

2024 · em andamento

Plataforma Upfound

Plataforma Upfound

Produto SaaS ponta-a-ponta que conecta fundadores com ideias validadas a profissionais dispostos a trocar tempo por equity. Desenhado, especificado e codado por mim, do primeiro wireframe ao deploy em produção.

Esse não é um case de interface. É um case de produto: começa em entrevistas com fundadores em pré-seed, passa por modelagem de dados, design system, contrato jurídico digital e segurança a nível de linha, e termina num sistema rodando, com usuários reais se candidatando, conversando e assinando vesting dentro da plataforma.

Contexto do negócio

O mercado de equity-for-talent sempre existiu, mas acontece informalmente: grupos de WhatsApp, indicações, posts no LinkedIn. Nada disso escala, e pior: nada disso documenta. Fundador e talento começam animados, esbarram na formalização contratual, e emperram, porque ninguém quer pagar advogado pra oficializar uma empresa que ainda não existe.

Identifiquei três fricções estruturais que nenhuma ferramenta existente resolvia no mesmo fluxo: descoberta (como achar as pessoas certas?), confiança (como formalizar sem burocracia cara?) e comunicação (como manter histórico quando tudo vive em inbox alheio?). A Upfound só valeria a pena se atacasse os três juntos. Caso contrário, seria mais uma ferramenta pra organizar o problema, não pra resolver.

Contexto do negócio

Pesquisa e descobertas

Conduzi entrevistas em profundidade com dois públicos: fundadores em pré-seed que já haviam tentado montar time sem caixa, e profissionais que já haviam aceitado equity antes, com e sem sucesso. O recorte foi proposital: não queria validar a ideia, queria entender onde ela quebra.

Dois padrões apareceram em quase toda conversa. Fundadores filtravam candidatos por sinal de compromisso muito mais do que por currículo: queriam saber se a pessoa tinha lido o projeto, se tinha perguntas, se tinha entendido o risco. Profissionais, por outro lado, travavam sempre no mesmo ponto: aceitavam verbalmente, mas sumiam quando percebiam que a formalização dependia de advogado e cartório.

Esses dois insights definiram as duas decisões mais importantes do produto: um fluxo de candidatura com perguntas customizáveis pelo fundador (filtro de compromisso embutido no funil) e um contrato de vesting pré-preenchido, assinado digitalmente dentro da plataforma (remove a fricção de formalização).

Pesquisa e descobertas

Decisões de produto

Créditos, não mensalidade por vaga

Publicar projeto é grátis. O que consome crédito é ação de alto valor: abrir candidatura, iniciar conversa. Alinha incentivo com qualidade, fundador que paga por clique cuida de quem chama. Plano ilimitado via assinatura para operações de maior throughput, integrado nativamente ao RevenueCat.

Contrato de vesting nativo, não PDF anexado

Modelei um template juridicamente válido, parametrizado por percentual, cliff e período, assinado digitalmente por ambas as partes dentro da plataforma, com trilha de auditoria. Foi a decisão mais técnica e mais arriscada do projeto, e a que mais gerou confiança percebida no produto.

Chat acoplado à candidatura, não avulso

Mensagens, anexos e perfil ficam atrelados ao projeto e não se perdem em inbox. Simples de fora, mas exigiu modelar permissões por candidatura, não por usuário, e desenhar um modelo de dados que suporta múltiplas conversas concorrentes por papel sem vazar contexto.

Role-based desde o banco, não só na UI

Fundador e talento vêem dashboards, navegação e permissões diferentes, mas a separação não é cosmética. É garantida por Row-Level Security no Postgres, então mesmo um request malicioso batendo direto na API não vaza dado cruzado.

Decisões de produto

Arquitetura e construção

Stack especificado e implementado por mim, de ponta a ponta. Front em React 18 + TypeScript + Vite, com design system baseado em shadcn/ui estendido e tokens Tailwind próprios, garantindo consistência visual sem travar velocidade de entrega. Estado do servidor sincronizado via React Query, validação cliente-servidor simétrica com React Hook Form + Zod.

Back-end inteiro sobre Supabase: Postgres com Row-Level Security em todas as tabelas sensíveis, Edge Functions em Deno para lógica crítica (pagamentos, geração de contrato, auditoria, notificações), Storage para portfólios e documentos. Autenticação com Google OAuth e e-mail, sanitização de filenames para o Storage, validação de role antes de submissão. Segurança não virou afterthought, virou contrato assinado com cada feature.

Cobertura de testes com Vitest e Testing Library nos fluxos críticos: candidatura, checkout, assinatura de contrato. Code splitting por rota via lazy import, provider tree enxuto, e uma decisão deliberada de manter cada domínio (auth, credits, chat, contracts, vesting) como módulo independente, o que permite escalar cada parte no seu ritmo sem reescrita.

Front-end

React 18 · TypeScript · Vite · Tailwind · shadcn/ui

Back-end

Supabase · Postgres · RLS · Edge Functions (Deno)

Estado & dados

React Query · React Hook Form · Zod

Pagamentos

RevenueCat · assinaturas recorrentes

Qualidade

Vitest · Testing Library · TypeScript strict

Infra

CDN · Edge functions distribuídas · lazy chunks

Arquitetura e construção

Solução

Fundador cadastra o projeto, descreve os papéis que precisa, define o percentual de equity e o cronograma de vesting. Talento explora projetos, aplica respondendo às perguntas customizadas pelo fundador, anexa portfolio. Quando há match, os dois recebem um contrato pré-preenchido, assinam na plataforma, e abrem o canal de chat do projeto.

Todo o histórico (mensagens, documentos, contrato, perfil) fica num lugar só, acoplado à candidatura, não ao usuário. Isso muda o que significa "terminar um projeto": dá pra fechar uma candidatura sem perder contexto, e reabrir outra sem começar do zero.

Solução
Solução

Resultado

Sistema em produção com o fluxo completo funcionando: autenticação, descoberta, candidatura, chat, assinatura de contrato de vesting e pagamentos recorrentes. A arquitetura modular permite que cada domínio evolua no seu ritmo. Novas regras de crédito, novos templates de contrato e novos papéis de projeto entraram sem refatoração estrutural.

0 → 1

produto levado da ideia ao deploy

6

domínios independentes no monorepo

100%

das tabelas sensíveis protegidas por RLS

< 1s

TTI médio nas rotas críticas

A infraestrutura foi dimensionada para suportar crescimento de 100 para 100 mil usuários sem reescrita: RLS no banco, cache em CDN, edge functions distribuídas e pagamentos terceirizados. A fricção que mais derrubava talentos antes, a formalização contratual, caiu de semanas para minutos.

Resultado

Design, código e IA — o ciclo fechado

Upfound não é portfólio técnico. É a prova de que um especialista em UX, com as ferramentas de IA certas, consegue operar o ciclo completo — pesquisar, decidir, implementar, testar, ajustar — sem handoff, sem telefone sem fio.

Durante anos, a profissão de designer dependeu de traduzir intenção pra outras pessoas codarem. O Upfound foi construído na lógica oposta: cada insight de pesquisa virou decisão de arquitetura, cada fluxo de UX virou schema no banco, cada regra de permissão virou política RLS. Não existe atrito entre quem descobre o problema e quem implementa a solução, porque são a mesma pessoa.

É isso que o Build mostra. Não sou designer que codifica pra parecer full-stack. Sou designer que usa código e IA porque é assim que um produto deixa de ser protótipo e vira decisão de negócio.