slack status without the slack. built on HATK and the AT Protocol.
live: https://status.zzstoatzz.io
source: https://tangled.org/zzstoatzz.io/status
- app: SvelteKit 5 with server-side rendering and TanStack Query
- backend: HATK handles OAuth, XRPC, relay ingestion, and feed hydration
- database: SQLite on a persistent Fly volume
- hosting: one always-on Fly.io machine in
ewr
The app and API ship together on Fly.io:
fly deployrequired secrets:
fly secrets set SECRET_KEY_BASE="$(openssl rand -base64 64 | tr -d '\n')"
fly secrets set OAUTH_SIGNING_KEY="$(goat key generate -t p256 | tail -1)"user status records with emoji, optional text, and optional expiration.
{
"emoji": "🔥",
"text": "shipping code",
"createdAt": "2025-12-13T12:00:00Z"
}user preferences for display settings.
{
"accentColor": "#4a9eff",
"theme": "dark"
}Run the HATK and SvelteKit development server:
npm install
npm run dev