Shafayet
All work

Dawnsmith

A desktop app that edits a Shopify theme by conversation, and keeps it off the store until you publish.

The Dawnsmith workspace: a conversation with Dawnsmith AI on the left, a live theme preview on the right, and a "Send to Shopify" button in the top bar.
Built at
On my own
Role
Founder and sole engineer
Timeline
2026
Stack
Tauri, Rust, React, TypeScript, Hono, Cloudflare Workers, Anthropic API, xterm.js
Live
dawnsmith.eienify.com

A merchant who wants trust badges, a sale countdown or a sticky add-to-cart has two options: hire a developer, or install another app that bolts it on from outside the theme. Both are slow, and the second leaves the storefront carrying a stack of scripts it did not need. Dawnsmith builds the thing into the theme itself, from a sentence.

The Dawnsmith stores screen, listing a connected Shopify store with an option to add another.
Stores connect once. Everything after this happens on the machine, not on the storefront.

The problem

The usual answer to this gap is a visual editor that hides the tooling, which trades a setup problem for a capability problem: you can only do what the editor exposes. The other answer, a chat box wired to a theme, trades it for a trust problem — you cannot tell what it is about to do, what it will cost, or how to undo it.

Plan first, then build

So the assistant does not start editing. It investigates, writes a plan with each step listed, and prices the work in credits before anything runs. When the plan hits something ambiguous it stops and asks, with concrete options, rather than picking one and being wrong four steps later.

Dawnsmith AI showing a four-step plan with three steps done and a credit estimate, and a question asking which direction the new hero should take, with three options and a free-text box.
It asks which direction the hero should take instead of guessing. The plan shows what is done and what the rest will cost.

Sections that already fit

Free-form generation produces a theme that does not match itself. The section library is curated and pre-tested against the theme, filtered by what each one is for, and labelled with whether it needs photos, shows products, or is already in the theme — so the choice is made from things that will work, and the assistant does the fitting.

The Dawnsmith section library: sixteen tested sections filtered by purpose, each with a preview, a description and a Use this section button.
Pick a tested section; the assistant adds it with your words rather than generating one from scratch.

Nothing reaches the store until you say so

The whole app is built on one promise, stated on its own first screen: the theme stays on this computer and the Shopify login never leaves it. Edits land in a local copy with a live preview, problems are surfaced as you go, and publishing is a deliberate, separate act.

The Dawnsmith theme health screen listing theme problems with details and a Fix with Dawnsmith AI button on each.
Theme Check, read back as problems worth fixing rather than linter output.
The Dawnsmith publish dialog offering to save without publishing or publish to the live store, with a pre-publish checklist.
Publishing is its own decision, with the choice between saving a draft and going live made explicit.

How it works

The local-first promise rules out the obvious architecture of running theme operations server-side. Tauri ships a native binary with a Rust core and a React interface; the app provisions Node, the Shopify CLI and Theme Check itself on first run, so the user installs nothing. The hosted Hono API on Cloudflare Workers handles only what has to be hosted — accounts, licensing and billing. Dawnsmith AI runs on Claude.

The terminal is embedded rather than hidden, which is the concession to the other audience: a developer can watch exactly what the tooling is doing.

The Dawnsmith embedded terminal showing Shopify CLI output while syncing a theme.
The tooling stays inspectable for the people who do want to look.

Testing something that does not behave the same way twice

An agent that edits themes cannot be checked by a normal test suite: the same request does not produce the same output, and the thing that matters is whether the result is any good and what it cost to get there. So two harnesses sit under it.

The first is an eval crate that runs a suite of real tasks, records each run, and replays recorded runs against changes — so a prompt or model change can be judged on quality and on credits spent, rather than on whether it still compiles. Cost is a first-class result because the product charges in credits, which makes a regression in efficiency a pricing problem, not just a slow one.

The second builds a throwaway Shopify theme on disk for each test — sections, templates, config and locales — so the agent’s file operations run against a real theme layout instead of a mock that agrees with whatever the code does.

What shipped

Dawnsmith is downloadable for Mac at dawnsmith.eienify.com, free to start on 150 credits with no card.