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