Lucas Dias.
Desenvolvedor Full-Stack · Araripina, PE

Sistemas em produção, do banco ao deploy.

Construo o produto inteiro: modelagem, backend, frontend, integração e publicação no servidor. O que está no ar aqui embaixo, dá pra abrir e testar agora.

RemotoDesde 2024SaaS · Pagamentos · IA
No ar agora
Painel do Capital Panorama

Capital Panoramaprint desktop

Capital Panorama no celular

Mobileprint

No ar · cliente pagante

Capital Panorama

Plataforma que busca convênios federais por município e monta um painel de indicadores fiscais. Consultoria e prefeitura usam pra não ter que garimpar dado espalhado em site de governo.

A parte mais divertida foi a performance. A primeira versão abria um navegador robô pra raspar os sites, e era lenta de doer. Joguei isso fora e passei a ler os CSVs públicos direto: arquivos de até 737 MB indexados em memória. A busca virou instantânea.

Tem controle de acesso por escopo: a prefeitura só enxerga a própria cidade e o estado só a própria UF. E quem decide isso é o servidor, não a tela — se alguém tentar burlar pelo navegador, não consegue, porque o filtro é aplicado antes do dado sair do banco.

737 MBmaior arquivo lido
3níveis de escopo
PDFrelatório timbrado
Abrir o sistema ↗
  • React 19
  • TypeScript
  • Python
  • Flask
  • d3-geo
Capital Panorama no desktop

Capital Panoramaprint desktop

Capital Panorama no celular

Mobileprint

Pré-lançamento · produto próprio

TeuAgendamento

SaaS de agendamento pra quem trabalha com hora marcada: barbearia, clínica, estética. O dono ganha um link público, o cliente marca sozinho, e por trás roda agenda, financeiro, lembrete automático e assinatura no Stripe.

O coração é o motor de horários: ele cruza a jornada de cada profissional, a duração do serviço e o que já está marcado, e devolve os horários livres dizendo quem está livre em cada um. E a quantidade de atendimentos simultâneos sai sozinha da conta de quantos profissionais fazem aquele serviço, o dono não precisa configurar nada.

O que mais me deu trabalho foi o que ninguém vê: dois clientes clicando no mesmo horário, no mesmo segundo. O servidor confere tudo de novo antes de gravar, e o banco tem uma trava que impede o mesmo profissional ter dois compromissos no mesmo horário. O segundo cliente recebe um aviso na hora e a agenda nunca fica duplicada.

5ciclos de cobrança
0agendamento duplicado
3apps no monorepo
  • Next.js
  • Fastify
  • Prisma
  • Expo
  • Stripe
  • Turborepo
  • Vitest
TeuAgendamento no desktop

TeuAgendamentoprint desktop

TeuAgendamento no celular

Mobileprint

No ar · uso semanal

Puxatime

Eu jogo vôlei toda sexta. Dividir os times sempre virava discussão, e sempre tinha um time sem levantador. Fiz um app pra resolver isso e hoje é o que a gente usa de verdade.

Parece bobo, mas é o algoritmo mais difícil que eu já encarei. Ele tem que equilibrar a soma dos níveis, garantir a posição obrigatória em todo time, espalhar as posições e ainda separar quem não pode jogar junto — sem que arrumar uma coisa estrague a outra. Testar todas as combinações possíveis levaria uma eternidade, então resolvi com programação dinâmica sobre bitmask: uma técnica que acha a melhor distribuição reaproveitando cálculos, em vez de testar tudo na força bruta.

E quem define o nível de cada jogador não sou eu: os próprios jogadores se avaliam entre si, e o nível é a média. Assim ninguém reclama do sorteio.

16testes no algoritmo
PWAinstala no celular
por semana, de verdade
Abrir o sistema ↗
  • Next.js 16
  • React 19
  • Drizzle
  • SQLite
  • Vitest
  • Docker
Puxatime no desktop

Puxatimeprint desktop

Puxatime no celular

Mobileprint

Em produção · case, sem abrir código

ERP Academia

Uma rede de 13 academias tinha cinco sistemas separados, cada um com login próprio e banco próprio. Ninguém falava com ninguém. Hoje é tudo um hub só, com login único.

O que eu mais tenho orgulho aqui não é uma funcionalidade, é uma decisão: eu não reescrevi os sistemas antigos. Fiz camadas de tradução que enganam o código velho, entregando pra ele o login e as permissões do sistema novo como se nada tivesse mudado. Centenas de consultas antigas continuaram funcionando, sem parar a operação, e o login virou um só. (Descobri depois que essa estratégia tem nome: Strangler Fig, trocar o sistema por partes em vez de refazer tudo de uma vez.)

Também tem a catraca, que foi um problema de arquitetura antes de ser de código: o servidor está na nuvem e não alcança a catraca, que fica na rede local. Escrevi um agente em .NET que roda lá dentro — mas a regra de quem entra fica no ERP, o agente só obedece.

63.000linhas
89tabelas
15módulos
13unidades
  • PHP
  • MySQL
  • .NET / C#
  • Stripe
  • WhatsApp Cloud API
  • face-api.js
ERP no desktop

ERP Academiaprint desktop

ERP no celular

Mobileprint

Deployado · uso pessoal

Apenas Estude

Fiz pra organizar meus estudos. Queria poder perguntar as coisas direto pros meus próprios PDFs, em vez de ficar caçando o assunto página por página.

A primeira versão mandava o PDF inteiro junto com a pergunta, e estourava o limite de texto que a IA aceita por minuto. Resolvi com RAG: picotei os PDFs em pedaços e ensinei o sistema a achar só os trechos que têm a ver com a pergunta, mandando apenas eles pra IA. Quem faz essa busca é um modelo pequeno, de 22 MB, que roda no meu próprio servidor — sem API, sem custo e sem os PDFs saírem de lá. O consumo caiu para cerca de um quarto.

Uma coisa que eu fiz questão: quando a resposta não vem dos meus PDFs, a IA avisa que aquilo é conhecimento geral dela. Prefiro que ela diga "não achei" a inventar.

−75%de consumo por pergunta
22 MBIA rodando no servidor
R$ 0de custo na busca
  • React
  • Node 22
  • Express
  • Groq
  • Transformers.js
  • Docker
Apenas Estude no desktop

Apenas Estudeprint desktop

Apenas Estude no celular

Mobileprint

No ar

Liderança Já

Sistema pra gerenciar rede de pessoas numa hierarquia de cinco níveis, onde cada líder enxerga só a própria equipe. Vários clientes usam a mesma plataforma, mas os dados de um nunca encostam nos do outro (multi-tenant).

Pra subir e descer essa árvore de cinco níveis numa consulta só, usei CTE recursivo: um recurso do banco que permite a consulta chamar a si mesma até percorrer a hierarquia inteira. Tem também auditoria de tudo e um modo suporte, onde o admin entra como se fosse o usuário pra resolver um problema, mas o sistema continua registrando quem realmente agiu.

5níveis de hierarquia
PWAfunciona em campo
Abrir o sistema ↗
  • React
  • TypeScript
  • Express
  • SQLite
  • Zod
  • JWT
Liderança Já no desktop

Liderança Jáprint desktop

Liderança Já no celular

Mobileprint

MVP · roda local, nenhuma prefeitura usa

TEA360

Cadastro único municipal da pessoa com autismo, com a linha do tempo da vida dela — diagnóstico, terapias, escola, benefícios, laudos — compartilhada entre saúde, educação e assistência social. A ideia é a família não ter que repetir a história em cada balcão.

O problema difícil foi permissão. Não bastava "quem é admin vê tudo", porque aqui se lida com dado de saúde de criança. O profissional de saúde só registra o que é da área dele, o gestor vê os números da cidade mas não pode abrir laudo nenhum, e laudo marcado como restrito só aparece pra quem o enviou. O consentimento da família (exigido pela LGPD, a lei de proteção de dados) não é um "aceito" de enfeite: sem ele registrado, o sistema simplesmente bloqueia o upload e o registro clínico.

Foi encomendado por um parceiro que não levou a parte comercial adiante, então parou no MVP.

6papéis de acesso
14tabelas
  • PHP 8
  • MySQL
  • PDO
  • Tailwind
  • Alpine.js
TEA360 no desktop

TEA360print desktop

TEA360 no celular

Mobileprint

O que eu uso
Linguagens
TypeScript, JavaScript, PHP, Python, C#, SQL
Front
React, Next.js, Tailwind, PWA, Expo
Back
Node.js, Fastify, Express, Flask, PHP
Dados
MySQL, PostgreSQL, SQLite, Prisma, Drizzle
Integrações
Stripe, WhatsApp Cloud API, IA (Claude, Groq, OpenAI), APIs de governo
Infra e qualidade
Docker, VPS, monorepo, testes automatizados, Git
Contato

Tem um problema de negócio? Eu transformo em sistema no ar.