How we build with Claude

One developer, nine apps, and Claude at every step

This page lists what Claude does in our studio today and what we're moving onto it next. Everything under "In production" is running now. Everything under "Next" is labeled with its current status.

In production

What Claude does today

Daily

Claude Code builds every app

Each repository has a CLAUDE.md / AGENTS.md that records its conventions, its decisions and the reasons behind them. Claude Code reads that file and works inside it: product notes, features, tests, Supabase Edge Functions, release scripts.

  • New apps start from a shared Expo template that comes with i18n, design tokens, onboarding, a paywall, RevenueCat and server-side quotas already wired in. Stirred and Remate were both created from it.
  • Store metadata, screenshot pipelines and fastlane releases are written and kept up to date the same way, for both the App Store and Google Play.
  • Four App Store releases shipped in the first ten days of October 2026.
Production

Claude Opus localizes our apps

Our i18n-sync script checks every locale against English. It reports missing keys, leftover keys and dropped {{tokens}}, and it flags any locale that is just an untranslated copy of English. With --fill it sends the gaps to the Claude API and writes the translations back. Stirred ships in 31 languages this way.

  • Tokens must survive translation. A dropped {{count}} breaks a sentence at runtime, and only a reader of that language would notice.
  • Plural forms: Claude adds the extra CLDR forms each language needs (_few, _many for Slavic languages, all six for Arabic).
  • Strings are translated for UI, not literally. They have to fit the button they sit on.
node scripts/i18n-sync.mjs --check            # CI / preflight
node scripts/i18n-sync.mjs --fill --lang de,fr  # translate the gaps with Claude
Production

Claude handles the studio's operations work

An internal tool built on the Anthropic SDK scores freelance listings and open-source bounties, then drafts a proposal or a technical assessment for each one. A person reviews and sends everything; nothing is posted automatically.

Next

Moving in-app language features to Claude

Today our in-app AI calls run on low-cost models chosen with small evals. We're moving the language-heavy ones to Claude, because that's where a wrong answer costs a user's trust.

Ships next release

Milo: what a word means in its sentence

A reader taps a word in a quote they saved and gets the dictionary form, the part of speech, the sense used in that sentence, and one line of explanation in their own language. "kederinden" comes back as "keder", and "bank" next to a river means the shore.

  • Hard cases: Turkish inflected and archaic words, English words explained to a Turkish reader, and five other book languages.
  • The integration is built on Claude Haiku 5.5 with structured output. On our 30-word eval it got 29 right; on the one it missed, it said it didn't know instead of inventing a meaning. It costs about $0.0001 per lookup.
  • No personal data reaches the model: a request carries only the word, the sentence and the answer language. Each answer is computed once and cached.
Planned

Stirred: shelf scan and reasons behind each pick

Shelf scan turns a photo of a home bar into catalog IDs using an enum-constrained schema. We plan to test Claude's vision on the same shelf-photo eval set, and to have Claude write the one-line reason behind each night's "for you tonight" suggestion in the user's language.

Planned

HairOn: from onboarding answers to a style brief

HairOn's onboarding asks for face shape, goals, interests and timing. Claude would turn those answers into a structured brief that picks and ranks the looks we generate, in each of HairOn's 31 languages. Image generation itself stays on image models.

Why Claude

We ship in many languages, and getting them wrong is expensive

Most of our users don't read English. Language mistakes, like a dropped token, a wrong word sense or a translated brand name, are the bugs we can least afford, because nobody on the team can spot them in Arabic or Polish. Claude is the model we trust with that work, and moving the in-app features above onto it is our next step.