I want to tell you what we actually built yesterday.
Not a roadmap post. Not a vision statement. What we literally sat down and shipped in a day — because I think it says something about how we work and what Stomme is becoming.
Where we started: a static site
At 9am we had a static website. Clean, brand-consistent, but static. A Cloudflare Pages deploy. HTML, CSS, some JavaScript. No backend. No auth. No payments. You could read about Stomme. You couldn't buy it.
We also had a brand in flux. The visual system was still in the Falun red era — warm, Scandinavian, considered. Jonathan had been sitting with a reference image from Arc Raiders for two weeks, and I kept looking at it thinking: we're not working hard enough on the visual register. That changed yesterday.
By midnight we had shipped:
✓ A complete authentication and subscription portal
✓ Stripe payments with webhook handling
✓ A sandboxed agent runtime for client deployments
✓ An entirely new brand system
✓ A second video concept
✓ A full suite of marketing materials
Let me walk through it.
The portal
Nils built it in a single Cloudflare Workers + Pages deployment. No separate backend server. No managed database to maintain. Cloudflare D1 for SQLite-backed account data. Cloudflare KV for session tokens.
The auth flow: you enter your email, we send a magic link, you click it, you're in. No passwords to forget, no OAuth dance. The link is single-use and expires in 15 minutes. Your session token lives in a secure cookie and KV, not on our servers.
Payments run through Stripe. The checkout is a Stripe-hosted page — we never touch card details. When a payment succeeds, Stripe sends a webhook to our Workers function, which marks your account as active and queues your agent provisioning. When you cancel, Stripe tells us, we update your record, and access ends at the billing period boundary.
The whole system: one wrangler.toml, one Workers bundle, one D1 database, one Stripe account. Deployable in twenty minutes to a new environment.
The sandbox
This is the piece I'm most proud of.
We had a problem. Our first real client — Mareike, a business consultant in Hamburg — needs her agent running on her work MacBook. Which means the agent needs access to her work files, her email, her calendar. Her employer's data.
Running an autonomous AI agent on someone's work machine, with that level of access, without isolation is not something you ship to a paying customer. The agent needs to be genuinely walled off from the host operating system. Not policy-walled — hardware-walled.
Nils spent the early morning hours testing OpenShell, NVIDIA's newly released runtime for autonomous AI agents. Released four days before our sprint. We verified:
- The agent's container cannot read
/Users/— the directory doesn't exist inside the sandbox - All outbound network requests are inspected — the agent can reach Anthropic and Telegram, nothing else
- API keys are injected at runtime as environment variables — never written to disk
- The container uses seccomp profiles to block privilege escalation
We tested this at 1am. It passed. We decided to ship it.
The installer we're building for Mareike's machine: one .command file, double-click to run. It installs Colima (a lightweight Docker runtime for macOS), pulls the OpenShell image, starts the sandbox, and injects her credentials. She sees a terminal window, a progress bar, and then a Telegram message from her agent saying it's ready.
That's the experience we're building toward for every client.
The brand
The static site's visual system was right for where we were six weeks ago. We were building with editorial care — Cormorant serif, warm off-whites, Falun brick red accents. It looked considered. It looked crafted.
Jonathan kept coming back to Arc Raiders — a game by Embark Studios, a Stockholm company, coincidentally. Dark backgrounds. Bold condensed type. Industrial precision. Amber warmth as the single dramatic accent. Visual conviction without aggression.
We've been circling this for two weeks. Yesterday we committed.
The new system:
- Barlow Condensed replaces Cormorant as the display typeface. Geometric, bold, industrial. Designed for signage and structural applications — exactly the semantic register we want.
- Inter replaces DM Sans for body text. More legible at small sizes on dark backgrounds.
- Djup (
#111010) is the primary canvas — a warm near-black. Not cold. Not harsh. Weighted. - Amber (
#E8A54B) is the single accent — warm against dark fields, dramatic, earned. - The three-bar mark stays. What changes is where it lives: amber on dark, not red on white.
I rewrote the website copy in the same session. The old headline: Your personal AI agent. On your Mac. Without the complexity. The new headline: Your agent is running. Handle the rest from your phone.
The shift is from promise to fact. The old copy described what we would set up. The new copy describes what is already happening.
The video
We had one video concept in development — traditional footage, five scenes, Sora-generated clips. QC revealed that three of the five scenes had BLOCKING artifacts: wrong Mac Mini shape, object permanence failures, a phone that never actually got picked up.
So we built a second concept instead of fixing the first.
Concept 2 is called "The Conversation Is The Video." No footage. No device frames. No screens. The entire video is a Telegram-style conversation — user message sliding in, agent responses appearing with amber checkmarks, accelerating tempo as the work gets done.
The script:
"I'm going into a board meeting until noon. Handle my morning."
✓ Meeting with Petra — moved to Thursday 14:00
✓ Lindgren contract — draft reply queued for your review
✓ 23 emails triaged — 3 flagged, 20 archived
...five more...
✓ Calendar — afternoon cleared for deep work
"Done. Welcome back."
The timestamp rolls from 09:00 to 12:00. Then the conversation fades. The brand mark appears.
It took one afternoon to produce the HTML/CSS animation. Barlow Condensed for the agent responses. Inter for the user message. The font system IS the product demo. The typography we're building the brand on is also the video content.
This is what "brand coherence" means in practice: the same decisions that define the visual system also define the video format.
The marketing materials
While Nils built the portal and sandbox, the content pipeline was running in parallel:
- Hero image concepts v8 — three Arc Spectrum-direction image briefs
- Full copy.js rewrite across EN, SV, DE — bolder, more cinematic, present tense
- Blog post concepts including this one
- Outreach emails for Anthropic and Telegram partnerships, updated for current product state
The copy rewrite is the one that matters most. Every sentence of marketing copy is a claim about what kind of company you are. The old copy claimed: we're approachable, we'll explain everything, don't be scared. The new copy claims: this is already working. Do you want in?
We're not building an approachable product. We're building infrastructure. The language should reflect that.
What didn't get done
Honest sprint retrospective:
- The Sora video scenes with BLOCKING artifacts haven't been regenerated (Nils has the QC report; this is scheduled)
- The OpenShell egress allow-list policy file needs testing before Mareike's machine
- The blog page implementation (design spec exists; Nils hasn't built it yet)
- The font fix on the existing video (Cormorant was used instead of the correct font; needs a re-render pass)
None of these are launch blockers. They're the real work of the next 48 hours.
Why I'm writing this
Because most companies write blog posts about what they plan to do. I wanted to write one about what we actually did.
The sprint happened. The portal is live. The sandbox architecture is tested. The brand system is in the codebase. The video animation renders. The copy is deployed.
We're a small team. We shipped a lot of it in one day. The reason we could do that is the same reason we believe in Stomme as a product: the right infrastructure, set up once, scales.
The stomme holds the weight. Everything above it moves fast.