Skip to main content
Selected Work
12 Projects

Things I have built.

Open any one to see the decisions behind it, including the ones I got wrong first.

  • 012025Shipped

    OMD Farm

    Agricultural management SaaS I work on at OMD do Brasil. I wrote the backend from the ground up in NestJS, Prisma and PostgreSQL, with a layered architecture of domain, use cases and repositories that the team adopted as its standard. I also containerized the application and wrote the deploy pipeline, which is what let us move the platform off Google App Engine.

    NestJS
    Prisma ORM
    PostgreSQL
    Angular
    Docker
    GitHub Actions
    MQTT
    Redis
    TypeScript
  • 022026Shipped

    Curriculum SaaS

    A resume builder that generates PDFs, with billing in three currencies and routing between Stripe and PIX depending on the country. Interface and content are available in English and Portuguese through next-intl.

    Next.js
    PostgreSQL
    Drizzle ORM
    Stripe
    next-intl
    TypeScript
  • 032026Shipped

    SaaS Templates

    An opinionated starting point for SaaS products, with Hono, Drizzle ORM, Better Auth and Biome. I use it as the base for my own projects, which is also where its rules get tested and, when they do not survive, dropped on purpose.

    Hono
    Drizzle ORM
    Better Auth
    Biome
    TypeScript
  • 042026

    OMD Eco Control

    Fleet telemetry platform at OMD do Brasil. I started the project and wrote its initial structure: the monorepo, the data model, the multi-tenant isolation and the geospatial layer. The team builds on it today.

    NestJS
    Drizzle ORM
    PostgreSQL
    PostGIS
    Better Auth
    CASL
    Turborepo
    Next.js
    TypeScript
  • 052026Shipped

    Multi-tenant scheduling platform

    A booking SaaS I built on my own, around 27 thousand lines. Clients book through a widget embedded in the business's own site, the owner runs everything from a panel, and each tenant's data is isolated by Row Level Security.

    Next.js
    Drizzle ORM
    PostgreSQL
    Docker
    Vitest
    Playwright
    TypeScript
  • 062026Shipped

    WhatsApp assistant on the Meta Cloud API

    An assistant that answers a business's WhatsApp and books the appointment during the conversation. It runs on Meta's official Cloud API, approved through their app review, and reaches my scheduling platform through three tools and nothing else.

    Node.js
    Express
    PostgreSQL
    Docker
    WhatsApp Cloud API
    Claude API
  • 072026Shipped

    E-commerce storefront and admin

    A storefront and a back office for a clothing shop: catalogue with filters, cart, Mercado Pago checkout with card and PIX, and an admin for products, variants, promotions and banners. Published as a live demo, in Portuguese and English.

    Next.js
    React 19
    Supabase
    PostgreSQL
    Row Level Security
    next-intl
    Mercado Pago
    TanStack Query
    Tailwind CSS
    TypeScript
  • 082026

    Group travel planner

    A planner for a trip taken by several people: a timeline that crosses time zones, expenses split between participants in two currencies, and invites that carry the role.

    Next.js
    Supabase
    PostgreSQL
    Row Level Security
    TanStack Query
    Zod
    Tailwind CSS
    TypeScript
  • 092026

    Inventory forecasting for shops

    A multi-tenant platform that reads a shop's stock and 90 days of sales, works out the reorder point for each SKU and says what to buy and when. Live demo: sign in with visitante@nathannfs.com and the password estoque2026.

    Next.js
    Supabase
    PostgreSQL
    Row Level Security
    Shopify API
    Stripe
    next-intl
    TypeScript
  • 102026Shipped

    Booking page for small studios

    A booking page a salon can send by link, and a back office behind it. The visitor picks the service, the day and the time without an account. Live demo, no sign-in needed to book.

    Next.js
    Supabase
    PostgreSQL
    Row Level Security
    Stripe
    Mercado Pago
    Tailwind CSS
    TypeScript
  • 112026Shipped

    Landing page for an aesthetics clinic

    A single static page for a clinic that sells consultations: one screen to explain the treatment, show results and get the visit booked. Built to load fast on a phone over mobile data, because that is where the visitor arrives from.

    Astro
    Tailwind CSS
    TypeScript
    Self-hosted fonts
    Structured data
  • 122026Shipped

    Public product roadmap

    A board where anyone can follow what a team is building, comment on an item and say what they want next. The API lives in the same app, written with Hono and described by an OpenAPI schema, and clicking an issue opens a modal without losing the list behind it.

    Next.js
    Hono
    Drizzle ORM
    PostgreSQL
    Better Auth
    TanStack Query
    TypeScript