Skip to content
Notes

Technical notes

What I learn while building. With real code and the trade-offs included, because a technique without its cost is marketing.

  • architecturenestjsdddtypescript

    Hexagonal architecture in NestJS without losing your mind

    Hexagonal architecture is always explained with concentric circles and almost never with code. Here is how I apply it in NestJS, which folders I create, the one rule that actually holds it together, and when it stops being worth it.

    · 8 min read

    Read the note

  • whatsappaiautomationarchitecture

    A WhatsApp chatbot on the official API with an LLM behind it

    What nobody tells you before building a WhatsApp bot with AI: the 24-hour window and its per-message billing from October 2026, why the webhook cannot wait for the model, and how to stop the assistant inventing answers.

    · 11 min read

    Read the note

  • design-systemreactreact-nativetailwind

    A design system that survives three applications

    Sharing UI across two web apps and a mobile one is not about sharing components — you cannot. It is about sharing tokens, language, and decisions, and automating the rule that stops the system eroding on its own.

    · 10 min read

    Read the note

  • monorepoturborepotypescriptarchitecture

    A monorepo with web, mobile, and backend sharing a domain

    Sharing types between backend and clients is free. Sharing values — enums, error codes, constants — is not, and that is where monorepos break in production with the build showing green.

    · 11 min read

    Read the note

  • architecturedatabasesfirestorepostgresql

    Polyglot persistence: documents for identity, SQL for money

    Why I use Firestore or MongoDB for profiles and users, and PostgreSQL for anything touching money, inside the same system. What you gain, what you pay, and when this decision is over-engineering.

    · 12 min read

    Read the note