Pular para o conteúdo
brorn
Nº 015 · Organização pessoal

Sistema de organização pessoal

Um conjunto de apps pessoais (tarefas, atividades, agenda, hábitos, notas e coaching) que conversam por um broker central com tokens e permissões, mais um app que aceita comandos de voz e texto pelo iPhone.

No ar
Período
2026-07 → hoje
Plataformas
Web · iPhone (Atalhos)
Papel
Sozinho: design, código e entrega
Tecnologias
Fig. 1 · TaskMe: tarefas
Fig. 2 · PlanMe: agenda
Fig. 3 · HabitMe: hábitos
Fig. 4 · CoachMe: hoje
Fig. 5 · NoteMe: notas
Fig. 6 · LogMe: atividades

§1O problema

Tudo começou como um app só que virou um “superapp”: tarefas, agenda, hábitos e metas na mesma base e no mesmo código. Ficou difícil mexer numa parte sem quebrar outra, e os outros apps (saúde, painel) precisavam copiar dados dele. Faltava uma regra clara de quem manda em cada dado.

§2O que eu construí

  • Regra de ouroCada tipo de dado tem exatamente um dono. Ninguém guarda cópia.
  • task-meTarefas, listas e tags, com quadro kanban.
  • log-meAtividades (o que aconteceu).
  • plan-meAgenda, com eventos próprios e calendários ICS somente leitura.
  • habit-meHábitos, com sequências, mapa de calor, estado “pulado” e pausas de férias.
  • note-meNotas em arquivos Markdown (a fonte da verdade), com links entre notas e retrolinks; o banco é só índice.
  • coach.meO app de coaching; também é dono do catálogo central de listas e tags que os outros usam.
  • data-hubBroker headless entre todos: registro de serviços, proxy com autenticação, tokens por app com escopos (leitura/escrita por serviço) e eventos de notificação. Nunca guarda dado de domínio. Tem um console (app Next) para ver eventos, serviços, apps e tokens.
  • ask-meRecebe comando de voz ou texto pelos Atalhos do iPhone, interpreta com IA e roteia para o app dono (tarefa, evento, hábito, nota…), com histórico, “desfazer” e compartilhar pelo menu do iPhone.

§3As partes difíceis

6 itens
  1. 01

    Quebrar um app grande sem derrubá-lo

    Migração em etapas (strangler): o app antigo continuou rodando sobre adaptadores enquanto cada serviço nascia; dados migrados de forma repetível e conferidos por contagem.

  2. 02

    Broker que não vira dono de nada

    Durante o desenho, cortei do hub coletores de dados e “views” prontas. Composição de telas fica no app que consome.

  3. 03

    Segurança por escopo

    Tokens de app com escopos por serviço, hash no banco, mostrados uma vez; o console não consegue revogar o próprio token.

  4. 04

    Taxonomia compartilhada

    Listas e tags vivem no coach.me; os outros guardam só o id e resolvem o nome na hora.

  5. 05

    Notas em arquivo como fonte da verdade

    Decisão contrária aos outros apps (SQLite primeiro), para a IA e o git lerem e escreverem as notas.

  6. 06

    Voz e texto com IA em ~7-11 s ponta a ponta

    Com desfazer instantâneo sem chamar o modelo (medição de agosto de 2026).

§4Resultado

apps, um dono por tipo de dado
8
comando de voz, ponta a ponta
~7-11 s

Todos os apps rodam no meu servidor em casa e eu uso numa rede privada. Eles compartilham a mesma marca e os mesmos componentes. São só para uso pessoal.

§5Stack

  • Next.js 16
  • React 19
  • TypeScript
  • Tailwind 4
  • SQLite (better-sqlite3)
  • Hono (engine do hub)
  • Design system próprio
  • pm2
  • Tailscale
  • Atalhos do iPhone
  • IA por linha de comando