Back to work
Product · A habit app you can watch grow

Ziggurat

A habit tracker where every check-in lays a stone. A week of habits becomes a course, courses raise a ziggurat, and everything you finish takes a plot in a city that never resets.

v0.12026Design, 3D art and build
Ziggurat: three phone screens, the week, a check-in with a stone dial and lever, and small builds, in front of a desert city of stepped ziggurats, towers and wells

Problem

Most habit apps run on checklists and streaks. Progress is easy to miss on a list, a single bad day drops a streak to zero, and one reward on its own wears thin, so people quietly drift away.

Approach

  1. 01

    Make progress physical. Each habit is a stone whose material follows its kind: sandstone for body, slate for mind, limestone for life. Every check-in lays one, a week fills a course, and courses raise the build: a seven-day cairn first, then a stair, a ziggurat and a great ziggurat.

  2. 02

    Make a miss a gap, never a reset. Hitting a smaller rough-day target lays a half stone, yesterday can still be logged today, and a missed day leaves a visible gap in one course while everything already laid stays standing.

  3. 03

    Tie every habit to a cue. Setup turns each one into a sentence (After I pour my coffee, I'll meditate for 10 minutes) with After, Before, When or While, and the cue comes back at check-in and in reminders.

  4. 04

    Make checking in feel like work done. Spin a carved stone dial to the amount, then pull a leather-gripped lever down to lay the stone, with a ratchet click, a thud and a haptic pulse. Habits to break fire bricks instead, and a slip leaves a cracked one.

  5. 05

    Layer the reasons to come back. Clay earned from every stone buys commissions for the city; twelve small builds, a well, a kiln or a gate, set one-to-four-week goals on the same check-ins; and a city view keeps everything you finish, framing itself to show it all.

  6. 06

    Teach it in the app. A 20-page guide opens with why a building works better than a streak, then walks every screen with real screenshots and the buttons to tap ringed and numbered; first-visit tips point at each screen's key control.

Architecture

One Expo / React Native codebase for phones and the web, with every habit, log and build saved on the device and no account. The game rules are plain functions over the log. All art is rendered from Blender scripts: stones, buildings and props as cropped layers, and a city composed from a sand plate plus one layer per thing built, all shot from one camera. The guide's annotated screenshots are captured from the web build automatically.

Built with

  • Expo
  • React Native
  • TypeScript
  • Zustand
  • Blender (Python)
  • Cycles
  • Playwright
  • Vercel

Outcome

A working preview at ziggurat.atomfade.com that runs in a phone browser: setup, daily check-ins, four builds from Cairn to Great Ziggurat, twelve small builds, clay and commissions, the city, and the guide. Next: Android and iPhone test builds and first tester feedback.

Decisions

  • Gaps that stay visible over streak counters

    because one bad day should cost a little, never everything you've built.

  • Art rendered from scripts over hand-drawn assets

    because every stone, building and the whole city can be re-rendered when the style changes.

  • Everything on the phone over accounts and sync

    because a habit app has to open and work in seconds, with nothing to sign up for.

Next

Joy Teriyaki

Five wordmarks and ten building directions for a Korean teriyaki drive-thru, delivered as an interactive review tool so the client could choose brand and architecture independently.