Product platform · 2026
Loomlocale
A translation product for Next.js teams who want ICU-safe locales kept in sync from one command, without retranslating everything on every change.
We reply within one working day. No pitch, no pressure.

SaaS · Web applications · Marketing websites · 2026
01 / The brief
What they needed
Loomlocale needed a product site and a hosted translation workflow built around Next.js App Router and a CLI.
Loomlocale (loomlocale.com) translates a Next.js app into the languages you choose and keeps them in sync. The public pitch is “Write once. Weave every language.”
Developers run npx next-tongue to detect locale files, pick languages, see the cost in pounds, then write structurally identical files. tongue update hashes source strings so only new and changed keys are translated and billed; deleted keys are removed everywhere.
The brief was a working product: marketing that explains the loom metaphor, a dashboard for glossary and overrides, CLI device-code sign-in, and a GitHub Action that opens pull requests for changed locales.
02 / What we did
How we approached it
We designed and built Loomlocale around next-tongue, the lockfile and a dashboard that stays in sync with the repo.
01
App Router native
Detect Next.js App Router locale files, validate ICU placeholders, plurals and rich tags before and after translation, and send failures to review instead of broken files.
02
One command, then sync
Ship npx next-tongue for the first run and tongue update for ongoing work, so unchanged keys are never retranslated or billed.
03
Web and CLI together
Edits, glossary and overrides in the dashboard flow into the repo on the next pull, with conflict handling and device-code login from the terminal.
04
CI-friendly
Support project tokens and the loomlocale/update GitHub Action so changed source hashes mark keys stale and open a pull request with only those translations.
03 / Who it is for
The people the site has to serve
A site only works when each audience can find their path without a guided tour.
Next.js product teams
Teams shipping App Router apps who want locale files that stay structurally identical across languages.
Studios and freelancers
Builders who prefer prepaid credit or a Pro plan and only want to pay when strings actually change.
Teams using GitHub Actions
Groups that want translation pull requests on push to main without a separate localisation tool chain.
04 / What changed
Outcomes we can stand behind
No invented traffic or fundraising figures — only what the project delivered and what we measured.
A live product at loomlocale.com
The public site presents the CLI flow, sync model, pricing and comparison in one place.
Change-only billing
Published pricing bills source characters × target languages for new and changed keys; Free, prepaid credit, Pro and Team plans are listed on the site.
ICU kept intact
Placeholders, plural branches and rich tags are masked before translation and validated afterwards so broken keys do not land in the repo.
06 / Related services
Related services
The same building blocks we use on projects like this.