Athlo
A SaaS that automates a gym's entire customer-service desk — email, Instagram and WhatsApp answered in one reviewed inbox, in the gym's own voice.
Hej! Jag åker bort hela juli och vill pausa mitt medlemskap. Hur gör jag det, och kostar det något?
Vad kul att du hör av dig. Du kan pausa (frysa) ditt medlemskap upp till 3 månader per år — det kostar 49 kr/månad under pausen. Säg bara till vilka datum det gäller så fixar vi det åt dig.
Vänliga hälsningar,
Teamet
fig. 01 — the owner's inbox: every channel in one queue, an AI draft ready, one keystroke to send. UI recreated; data illustrative.
The Problem
Try getting a straight answer out of a big-box gym chain. The phone queue runs an hour or more, the support email has quietly been switched off, and a simple question — can I freeze my membership over the summer? — turns into a week of being bounced around. It's not that the staff don't care; it's that front-desk teams are buried under the same dozen questions, arriving across email, Instagram DMs and WhatsApp, with no system to triage them. I lived this as a member, and saw the same backlog from the gyms' side: a customer-service channel that has effectively collapsed.
The Solution
Athlo is a SaaS product I sell to gyms that automates their customer-service desk end to end. It pulls every channel — email, Instagram and WhatsApp — into one inbox, and for each incoming message an AI drafts a reply in the gym's own voice, grounded in that gym's facts. The owner skims the draft and sends it with a single keystroke, or edits it first. It's deliberately draft-and-approve, not fully autonomous: the gym keeps its hand on the wheel while the hour of repetitive typing disappears.
How the AI Works
There is no queue broker and no polling — Postgres is the spine. When a message lands, a webhook writes it to the database, and an INSERT trigger fires a NOTIFY. A long-lived worker is LISTEN-ing, picks it up in under a second, builds the prompt, calls the model, and writes back a ready draft. The whole path from member email to reviewable answer takes a few seconds.
Sounding Like the Gym
A generic chatbot answer is worse than no answer — members can smell it. So the prompt isn't one monolith; it's composed from small, ordered skill modules. Three are mandatory and can never be switched off: role (who the assistant is), company-info (the gym's knowledge base, which grounds every fact), and safety (injection fencing, no invented prices, no legal or medical advice). Around them sit optional modules a gym can tune — tone, banned words, sign-off — and the highest-leverage piece: a handful of real voice examplesthe model imitates. Inbound text is fenced as data, never instructions, so a member can't talk the assistant out of its rules.
It Learns from a Skip
When the AI doesn't know something, the owner doesn't just fix the one reply — they teach the system. Hitting Skippaon a draft and flagging a knowledge gap opens an inline box to add the missing fact to the gym's knowledge base. The draft then regenerates on the spot, now grounded in the new answer — no page reload, no leaving the inbox. Every gap closed this way makes the next hundred answers better.
The Stack
The whole product is a small, boring-on-purpose set of processes with Postgres at the centre. The web app is Next.js 16 / React 19 (Server Components, TypeScript strict), which renders the three-pane inbox and hosts every webhook and route handler. Supabase Postgres in the EU is the spine: multi-tenant isolation is enforced in the database with row-level security keyed on gym_id, OAuth tokens live encrypted in Vault, and an append-only audit log records every send. A single Bun worker does the drafting against Claude Sonnet; Stripe handles subscriptions; a daily cron keeps the mailbox connections alive. No Kubernetes, no Redis, no queue — and everything stays in EU regions by design.
Where It Stands
Athlo is live at athlo.se and running with pilot gyms. The bet behind it is simple: members deserve a real answer in minutes, not a week, and gyms shouldn't have to choose between hiring more front-desk staff and letting their inbox rot. An owner-approved AI draft for every message — across every channel, in the gym's own voice — turns a collapsed support channel back into a working one. Built solo, end to end: product, AI, full stack, and the EU-compliant plumbing underneath.
Working on something similar?
Tell me where the time goes in your process, and I'll tell you what an agent could take off your plate.