---
title: Cozy Alchemy: a cozy idle game, built end to end · Pavegrowth
description: A village potion shop game for iPhone. I built the whole thing: the gameplay loop, levelling and economy, the backend, the marketing site and the user acquisition. Live on the App Store 20 days after I started building it.
url: https://pavegrowth.co/work/cozy-alchemy/
---

[← Work](https://pavegrowth.co/work/) · Cozy Alchemy

![Cozy Alchemy](https://pavegrowth.co/_astro/logo.uREvcGQS_Z1HX0r2.webp) · Built & launched end to end

# Cozy Alchemy: a cozy idle game, built end to end.

A village potion shop for iPhone. Grow herbs, brew potions from picture recipes and serve fifty villagers who remember you. I built every part of it myself: the game and its gameplay loop, the levelling and economy, the backend, the marketing site and the user acquisition.

Product

[playcozyalchemy.com](https://playcozyalchemy.com/)

Platform

iPhone

Services

Game design, App development (iOS), Backend, Website, UA

[App Store ](https://apps.apple.com/app/id6804458438) · [Website ](https://playcozyalchemy.com/)

![Cozy Alchemy website: Run a little village potion shop, one kettle at a time, above three iPhones showing the garden](https://pavegrowth.co/_astro/home-d.DKNGyV9V_Gj5tG.webp)

The marketing site · playcozyalchemy.com

The numbers

## From first line of code to the App Store in under three weeks.

1k+ · Players

20 · Days from first line of code to live on the App Store

100 · Shop levels of progression

140 · Potions and picture recipes

What I built

## A complete game, not a prototype.

Design, code, systems and launch, all done by me. Free to play on iPhone, and it works offline.

### The gameplay loop

Grow, brew, serve. Every timer keeps running while the app is closed, and time away yields exactly what playing would have.

* Plant, harvest, brew and serve
* Picture recipes, plus a bench for experimenting
* Helpers that tend the garden while you're away

### Levelling and economy

A shop level from 1 to 100 that unlocks everything, fed by XP from every action. Mastery tracks, three currencies and a market whose prices move with the seasons.

### Live ops

Daily jobs, commissions and streaks, a festival and events framework, rotating seasons and a two-track season pass. Features can be tuned remotely, with A/B variants per player.

### Launch and growth

The marketing site, an App Store listing in 50 locales, automated store screenshots, and the user acquisition that put it in front of players.

Screens

## The game and the site.

![Website section: Fifty regulars who remember you, with pixel-art portraits of six villagers](https://pavegrowth.co/_astro/village-d.BQhg2l0n_ZvRbIv.webp)

Fifty villagers, each with their own story

![Website section: Four seasons in the garden, with a grid of seasonal herbs and potions](https://pavegrowth.co/_astro/seasons-d.dFBrt2ci_Z1fHXhD.webp)

Four seasons of herbs and potions

### In the game

![Garden screen: six herb beds growing, two ready to gather, and winter arriving tomorrow](https://pavegrowth.co/_astro/garden-m.BptURsCr_10D8mB.webp)

The garden

![Recipes screen: each potion with the herbs it needs and its brew time](https://pavegrowth.co/_astro/recipes-m.BUGHlzTa_1dgL1P.webp)

Picture recipes

![Shop screen: a villager asks for a Warming Cordial, ready to hand over](https://pavegrowth.co/_astro/shop-m.BYTjp7wb_Z1pnOxu.webp)

Serving the village

How it's built

## An offline-first game on a small, fast stack.

A top-level look at how it's put together. The game runs entirely on the phone, with a thin edge backend for the things that need a server.

See how it's built Optional, for the technically curious

Client

### One TypeScript codebase, tuned for phones

Built on React Native, with graphics drawn on the GPU and animation running off the main thread, so a busy garden stays smooth on older iPhones.

TypeScript, React Native, Expo, Reanimated, Skia

Game engine

### A pure, testable rules engine

Every rule lives in one engine that works out the game state from timestamps. Offline time, notifications and saves always agree, because they all ask the same function.

Pure functions, Zustand, Zod

Saves

### Offline-first, nothing lost

The save lives on the device, with an append-only ledger for every coin and item that moves, and rolling backups that keep a last good copy.

SQLite, Ledger, Rolling backups

Backend

### Serverless at the edge

Remote config, purchase webhooks and nightly housekeeping run at the edge. Over-the-air updates come from a self-hosted, signed update server rather than a paid service.

Cloudflare Workers, D1, R2, Cron

Monetisation

### Purchases, a subscription and a season pass

In-app purchases through StoreKit, with no analytics, no tracking and no tracking prompt.

StoreKit, RevenueCat

Shipping

### A release pipeline that runs itself

Builds, submissions, prices and store listings in 50 locales are scripted, and the App Store screenshots are captured from scripted simulator runs.

fastlane, App Store Connect API, GitHub Actions, Maestro

About![Josh Pavey](https://pavegrowth.co/_astro/avatar.BbmBhYNK_TT63c.webp)

**Josh Pavey** · Founder

**Currently** 

[Get in touch ](#contact)

UK time

## Senior strategy. Hands-on delivery.

I've spent **7+ years in paid advertising**, agency-side and in-house, most recently as **Head of Paid Search for 3+ years at Soar With Us**, a D2C agency, growing brands to **8+ figures**. I've since started Pavegrowth to continue my love of building and growing brands with that expertise.

Alongside the ad accounts I build Shopify themes, iOS apps and software products, including my own. Growth marketing and development under one roof. I utilise AI workstreams to support moving faster & streamlining internal & client workflows to ensure efficiency, whilst the strategy, judgement and accountability are mine. You talk directly to the person doing the work.

7+ · Years in paid ads

£10M+ · Ad spend managed

100s · Audits & accounts managed

30-minute intro call

## Let's grow your brand, together.

Thirty minutes to get to know your brand, your goals and where the growth is. No pitch deck, just a straight conversation about where we'd take it next.

1. 0–10 · Your brand, goals and growth targets
2. 10–25 · Where I'd look first for growth, and why
3. 25–30 · Fractional, a project, or not a fit

[Book an intro call ](https://calendar.app.google/xccypEeR4XJFWLWp6)

Email

[josh@pavegrowth.co](mailto:josh@pavegrowth.co)
