The page itself
Frameworks are for applications. A page that has to load on a weak connection and be read by a crawler does not need one.
- Hand written HTML, generated from content files
- Modern CSS with container queries and view transitions
- React and Vite when the thing genuinely has state
- Cloudflare Workers at the edge, one deploy unit
The measurement
One layer for the whole business, so two reports can never disagree about the same week.
- Meta Pixel with Conversions API, matched and deduplicated
- GA4 and Tag Manager, one property, one taxonomy
- Server side events from your own domain
- Event ids minted at the edge, before the browser can race
The intelligence
The model is the cheap part. Knowing when it should stop talking is the work.
- n8n for the orchestration, self hosted
- Dify for the retrieval and the prompt discipline
- Chatwoot so a human can take the conversation over
- WhatsApp, Messenger and Telegram as the front doors
The machine underneath
Rented tools are cheap until they work. Then they bill you for succeeding.
- Oracle Cloud, four cores and twenty four gigabytes, Singapore
- Coolify for deploys nobody needs a terminal for
- PostgreSQL and Redis, backed up and boring
- Three years running, never rebuilt from scratch