Nico Roig

AI engineer

Four systems I built, and the decisions behind them. This is about how they work and where they break, not what they use.

  1. NR-01

    AI messaging

    Answered a paying client's live WhatsApp, Instagram and phone line in production: qualified leads, booked viewings, and handed over to a human when it should.

    Real estateOn standby1,946 words

  2. NR-02

    Purchasing

    Put a ready-to-send order in front of the chef instead of a dashboard, in production for the restaurant it was built for.

    HospitalityRan in production1,060 words

  3. NR-03

    Tax-law research

    Replaced a manual browser workflow for tax professionals, on a locked-down corporate machine with nothing installed and no credentials.

    Tax & legalShipped1,054 words

  4. NR-04

    Cognitive training

    Works fully offline with no account, signing up later adopts the history you already have, and it tells the user what the training does and does not improve.

    Learning928 words

Public parts

Pieces of the messaging platform general enough to stand alone, rewritten and tested.

PartWhat it doesWorth checking
supabase-multitenant-rlsPool multi-tenancy on Supabase and Postgres, enforced by row-level security.18 tests that try to break the isolation, against a real Postgres in CI
meta-webhooksVerifies and normalises WhatsApp, Instagram and Lead Ads webhooks into typed events.Zero dependencies; runs on Node, Bun, Deno and edge runtimes
phone-identityResolves phone numbers to canonical E.164, so one person matches across WhatsApp, SIP and web forms.Zero runtime dependencies; about 250 lines of TypeScript
architecture-notesWrite-ups of decisions from production systems, and what they cost.Note 001: replacing a no-code stack with a code-native platform