Coisas que eu construí.
Abra qualquer um para ver as decisões por trás dele, inclusive as que eu errei primeiro.
- 012025Em produçãoEm produção
OMD Farm
SaaS de gestão agrícola em que trabalho na OMD do Brasil. Escrevi o backend do zero em NestJS, Prisma e PostgreSQL, com arquitetura em camadas de domínio, casos de uso e repositórios, que o time adotou como padrão. Também containerizei a aplicação e escrevi o pipeline de deploy, que foi o que permitiu tirar a plataforma do Google App Engine.
NestJSPrisma ORMPostgreSQLAngularDockerGitHub ActionsMQTTRedisTypeScript - 022026Em produçãoEm produção
Curriculum SaaS
Gerador de currículos em PDF, com cobrança em três moedas e roteamento entre Stripe e PIX conforme o país. Interface e conteúdo saem em inglês e português via next-intl.
Next.jsPostgreSQLDrizzle ORMStripenext-intlTypeScript - 032026Em produçãoEm produção
SaaS Templates
Ponto de partida opinativo para produtos SaaS, com Hono, Drizzle ORM, Better Auth e Biome. Uso como base dos meus projetos, que é também onde as regras dele são testadas e, quando não sobrevivem, derrubadas de propósito.
HonoDrizzle ORMBetter AuthBiomeTypeScript - 042026
OMD Eco Control
Plataforma de telemetria de frotas na OMD do Brasil. Iniciei o projeto e escrevi sua estrutura inicial: o monorepo, a modelagem de dados, o isolamento multi-tenant e a camada geoespacial. Hoje o time trabalha nela.
NestJSDrizzle ORMPostgreSQLPostGISBetter AuthCASLTurborepoNext.jsTypeScript - 052026Em produçãoEm produção
Multi-tenant scheduling platform
SaaS de agendamento que construí sozinho, com cerca de 27 mil linhas. A cliente marca por um widget embutido no site do próprio negócio, a dona administra tudo por um painel, e os dados de cada tenant ficam isolados por Row Level Security.
Next.jsDrizzle ORMPostgreSQLDockerVitestPlaywrightTypeScript - 062026Em produçãoEm produção
WhatsApp assistant on the Meta Cloud API
Atendente que responde o WhatsApp de um negócio e marca o horário durante a conversa. Roda na Cloud API oficial da Meta, aprovada na revisão de aplicativo deles, e chega na minha plataforma de agendamento por três ferramentas e nada além disso.
Node.jsExpressPostgreSQLDockerWhatsApp Cloud APIClaude API - 072026Em produçãoEm produção
E-commerce storefront and admin
Uma loja e um painel para um negócio de roupa: catálogo com filtros, sacola, checkout no Mercado Pago com cartão e Pix, e um admin para produtos, variações, promoções e banners. Publicado como demo no ar, em português e inglês.
Next.jsReact 19SupabasePostgreSQLRow Level Securitynext-intlMercado PagoTanStack QueryTailwind CSSTypeScript - 082026
Group travel planner
Um planejador para viagem de mais de uma pessoa: cronograma que atravessa fusos, despesas divididas entre os participantes em duas moedas, e convite que já carrega o papel de cada um.
Next.jsSupabasePostgreSQLRow Level SecurityTanStack QueryZodTailwind CSSTypeScript - 092026
Inventory forecasting for shops
Plataforma multi-tenant que lê o estoque da loja e 90 dias de venda, calcula o ponto de recompra de cada SKU e diz o que comprar e quando. Demo no ar: entre com visitante@nathannfs.com e a senha estoque2026.
Next.jsSupabasePostgreSQLRow Level SecurityShopify APIStripenext-intlTypeScript - 102026Em produçãoEm produção
Booking page for small studios
Uma página de agendamento que o salão manda por link, e um painel atrás dela. Quem visita escolhe o serviço, o dia e o horário sem criar conta. Demo no ar, dá para marcar sem entrar.
Next.jsSupabasePostgreSQLRow Level SecurityStripeMercado PagoTailwind CSSTypeScript - 112026Em produçãoEm produção
Landing page for an aesthetics clinic
Uma página estática para uma clínica que vende consulta: uma tela para explicar o procedimento, mostrar resultado e levar ao agendamento. Feita para abrir rápido no celular com dado móvel, que é de onde a visita chega.
AstroTailwind CSSTypeScriptSelf-hosted fontsStructured data - 122026Em produçãoEm produção
Public product roadmap
Um board onde qualquer pessoa acompanha o que um time está construindo, comenta um item e diz o que quer depois. A API vive no mesmo app, escrita com Hono e descrita por um esquema OpenAPI, e clicar numa issue abre um modal sem perder a lista atrás.
Next.jsHonoDrizzle ORMPostgreSQLBetter AuthTanStack QueryTypeScript