Voltar ao índice
05Trabalho

Dodreams

Do sonho ao plano

Meu papel
Desenvolvedor full stack
Cliente
Catsuc Labs
Setor
Produto de consumo · web
Status
Em produção

Código proprietário. Sistema privado de cliente — o repositório não é público.

Números

1

sonho, várias etapas

O progresso vem das etapas concluídas, não de um número digitado à mão.

CRUD+

não é só cadastro

A parte difícil é modelar algo subjetivo sem engessar o usuário.

A

Contexto

Sonho fica na cabeça, em nota do celular ou em captura de tela de passagem aérea. Espalhado assim, ele não avança — não porque falte vontade, mas porque não existe lugar onde ele seja uma coisa acompanhável.

B

O problema

Modelar algo subjetivo. “Ir para o Japão” e “aprender a tocar violão” não têm a mesma forma, mas precisam caber na mesma estrutura sem virar um formulário genérico que não serve para nenhum dos dois. E o progresso tem que ser honesto: barra que enche sozinha não motiva, mente.

C

A abordagem

Um sonho é a entidade central e carrega o mínimo: o que é, quando, quanto e por quê. O resto vem das etapas — e é delas que o progresso é derivado, nunca digitado. Assim a mesma estrutura serve para uma viagem com passagem e hospedagem e para um objetivo sem preço nenhum, e o número que a pessoa vê significa algo.

D

Módulos

01A entidade central

Sonhos

Registro do que é o sonho, com prazo e custo opcionais — porque nem todo sonho tem preço, e forçar um campo obrigatório afasta metade dos casos.

02O plano

Etapas

A quebra em passos concretos. É o que transforma intenção em algo que se pode marcar como feito.

03Derivado

Progresso

Calculado a partir das etapas concluídas. Nunca um campo que o usuário edita — progresso editável é decoração.

E

As partes difíceis

Estrutura para algo sem forma

A tentação era criar um tipo de sonho para cada caso — viagem, compra, objetivo — e cada um com seus campos. Isso multiplica a interface e envelhece rápido. Um núcleo pequeno com campos opcionais e etapas livres cobre muito mais caso e continua simples de usar.

Progresso que não mente

Deixar a pessoa arrastar a barra de progresso é fácil e inútil. Derivar das etapas dá um número menor no começo — e é justamente isso que faz concluir uma etapa significar algo.

F

O que é meu

  • Modelagem do domínio de sonhos e etapas, com progresso derivado
  • Interface de cadastro, planejamento e acompanhamento
  • API e persistência em PostgreSQL
G

Resultado

Sonho deixou de ser nota solta e passou a ser uma coisa com etapa e prazo. É o projeto mais leve dos que eu listo aqui e o que mais me obrigou a pensar em modelagem — porque quando o domínio é subjetivo, o schema é a decisão de produto.

O que eu levei

  1. 01Núcleo pequeno com campo opcional cobre mais caso que um tipo para cada situação.
  2. 02Número derivado vale mais que número digitado. Se o usuário pode editar, não é métrica.
  3. 03Domínio subjetivo é onde a modelagem deixa de ser detalhe técnico e vira produto.

Stack