dArtCall (561) 872-3664
← all posts
Alex Kargin · February 14, 2026

The full stack we use on our own chatbot (and why it's boring)

Next.js + FastAPI + MySQL + Ollama + Apache + systemd. Nothing on this list is new. That's the argument.

dArtstudio
The full stack we use on our own chatbot (and why it's boring)
February 14, 2026

People ask what's under the hood of recent AI-adjacent side projects. The honest answer is: nothing new. Every layer is technology that was boring in 2023. Here's the whole stack and why each choice stayed.

Frontend

  • Next.js 14 — App Router, TypeScript
  • Tailwind CSS — no component library, no design-system framework
  • react-markdown + remark-gfm — for anywhere markdown renders

Backend (when a Next.js route isn't enough)

  • FastAPI — Python 3.12, async
  • MySQL — transactional data (users, bookings, leads)
  • ClickHouse — when there's actual analytics volume

AI layer

  • Ollama — inference daemon
  • OpenAI SDK pointed at Ollama — same contract, different endpoint

Infrastructure

  • Ubuntu 24.04 on a standard VPS
  • Apache 2 — reverse proxy, ProxyPass / flushpackets=on for streaming endpoints
  • systemd — process management
  • Let's Encrypt — TLS

What's deliberately absent

  • No Vercel / Netlify / Cloudflare Workers. Every vendor dependency is an unknown cost curve and an inherited obligation for whoever maintains the site next.
  • No Kubernetes. One VPS + systemd is enough for 99% of what small technical operations need. The complexity of k8s only pays off at a scale most sites never reach.
  • No GraphQL. REST is simpler and every developer already reads it.
  • No frontend state library beyond React's hooks. If the app needs Redux, it probably needs a refactor instead.

Why "boring"

The people who will maintain a system at month 30 — when the original builder is on something else — have no context for exotic choices. Every load-bearing exotic library is a future landmine.

Tailwind + Next.js + FastAPI + MySQL has been a mainstream stack since 2023. Tutorials exist. Stack Overflow has answers. Any junior developer can read it. That's the feature, not a limitation.

When exotic becomes correct

Reach for newer tooling when the boring stack genuinely fails: real-time sub-100ms collaborative editing, 10M+ concurrent connections, GPU-heavy ML pipelines, edge-of-network personalization at scale. None of these describe "a website with a chatbot and a booking form."

The discipline is knowing when you're actually in that territory versus choosing novelty because it's novel.

— Alex Kargin. More engineering writing at kargin-utkin.com.

stackengineeringboring-tech
Want AI like this working for your business?

dArt Studio installs AI for local businesses in Broward & Palm Beach County, FL. We reply within 1 business hour.