---
title: "Lunch, an Apple Watch game — Joshua Martens"
url: https://www.joshuamartens.com/work/lunch
markdown_url: https://www.joshuamartens.com/work/lunch.md
author: Joshua Martens
author_url: https://www.joshuamartens.com
summary: "Case study: Lunch, an Apple Watch chase game steered with the Digital Crown. I designed and built all of it, from the first sketch to the App Store."
images: 47
videos: 4
---

<!--
For agents and language models. This is the complete case study from https://www.joshuamartens.com/work/lunch,
as Markdown: every heading, paragraph, quote, list, fact, caption and image,
in the order the page shows them. Image lines carry the page's own alt text and
an absolute URL. Nothing has been summarized or left out; the page's design
(layout, color, motion) has. An index of every image and video follows the
study. When citing it, link to https://www.joshuamartens.com/work/lunch.
-->

> Case study: Lunch, an Apple Watch chase game steered with the Digital Crown. I designed and built all of it, from the first sketch to the App Store.

![Lunch](https://www.joshuamartens.com/images/lunch/wordmark-mono.png)

# A game made for the wrist

An arcade chase for Apple Watch: a cracker-sized screen, one-minute runs, and the Digital Crown as the wheel. I made all of it: idea, art, code, sound, business model and launch.

[Apple App Store](https://apps.apple.com/app/id6827720570)[Website](https://playlunch.app)

Case Study

- **Timeline:** October to November 2026

- **Role:** Solo: design, development, everything

- **Platforms:** Apple Watch first, then iPhone, iPad and iMessage

- **Built with:** SwiftUI, SpriteKit, Python, Claude Code

[Video, silent loop: lunch-watch-duo](https://www.joshuamartens.com/videos/lunch-watch-duo.mp4) (poster frame: https://www.joshuamartens.com/videos/lunch-watch-duo-poster.jpg)

In short

## TLDR

- **The product.** An arcade chase game for Apple Watch, steered with the Digital Crown, and also on iPhone and iPad.

- **My role.** All of it, solo: concept, game design, art, sound, business model and launch. Claude Code wrote the code and I directed it.

- **The result.** 10 days from first sketch to Apple Watch, iPhone and iPad, and now on the App Store.

- **What’s below.** Eight decisions, from the first idea to the iPhone. The whole case study takes about 8 minutes to read.

### Eight decisions

- [01 Design for the watch first.](#concept)

- [02 Steer with the Digital Crown.](#watch)

- [03 Prove the fun in a browser before building the app.](#prototype)

- [04 Pre-render every 3D model into 2D images.](#art)

- [05 Make it playable at a glance, with the sound off.](#ux)

- [06 Give everyone one ranked run on the same world each day.](#retention)

- [07 Charge once: no ads, subscription or account.](#business)

- [08 Make the iPhone a game in its own right, not a port.](#iphone)

Overview

## Everyone is somebody’s lunch

Cappy is a capybara in a bathtub on wheels, and the food chain has woken up hungry. Turn the Digital Crown to steer him through forests, badlands, mountains, a river and a sky ocean, and survive as long as you can.

Predators sleep until you pass too close, drift nearby or clip their tree. Every wake-up pays a bonus, so poking the bear is a strategy. Lead them into trees or each other. Tap to go Unbothered and they lose your scent. Three bites and you’re lunch.

I wanted a project where every decision was mine, from the pitch to the price.

### Everything it took

- Concept

- Game design

- Art direction

- Product design

- Game UX

- watchOS & iOS development

- Sound design

- Haptics

- Branding

- App icon

- Sticker pack

- Widgets & complications

- Business model

- Marketing & App Store

- Release

![Lunch home screen on Apple Watch: Boss #001 and Worlds](https://www.joshuamartens.com/images/lunch/watch-home.jpg)

![You’ve been lunched, with the capybara angel floating up](https://www.joshuamartens.com/images/lunch/watch-lunched.jpg)

![The All of Lunch offer on Apple Watch](https://www.joshuamartens.com/images/lunch/watch-offer.jpg)

*Caption:* Drawn for 46 mm: the home screen, the lunched screen and the All of Lunch offer

01

Concept

## There was no good chase game for the wrist

- **Problem:** Voxel car chases are a hit on phones (a voxel is a volume pixel: think blocky 3D), but none existed for Apple Watch, where a whole game must fit one wrist-raise.

- **Decision:** Design for the watch first, from a game bible written before any code.

- **Trade-off:** The iPhone game waited, and every feature had to serve one of five pillars or go.

- **Outcome:** Scope stayed tight.

The bible set the pitch, controls, scoring and difficulty: a first-timer survives about 15 seconds, a median run lasts 45. Up, down and jump were cut.

### Joy in the first second

- No menus, no tutorial. Raise your wrist, turn the Crown, run.

### Built for the wrist

- The Crown, haptics and short runs are the core, not a phone port.

### Crashes feel good

- Drifts, near misses and pileups are fun, even when you lose.

### Weird and beautiful

- A capybara in a bathtub, strange worlds, light worth a screenshot.

### Fair, then fierce

- Easy to start, deep enough to chase a high score.

### The look, before the game

A moodboard set the rules: soft voxels, isometric, one light and one palette per world. Cappy is always the brightest thing on screen; predators are dark shapes with glowing eyes, readable at a glance.

![The Lunch moodboard: the voxel wordmark, the target look on a watch, the palette and the rules of the look](https://www.joshuamartens.com/images/lunch/moodboard-cover.jpg)

02

Watch native

## The Digital Crown is the steering wheel

- **Problem:** A chase on a 46 mm screen is read at a glance, and every touch covers the thing chasing you.

- **Decision:** Steer with the Digital Crown. A tap is the only other input.

- **Trade-off:** Analog steering is unforgiving, and only a real wrist could tune it.

- **Outcome:** The screen stays clear, and how hard you turn decides how fast the chase grows.

Gentle turns grip. A hard spin drifts, and drifting is loud: it wakes sleepers from twice as far.

### The small screen as a design brief

Every screen fits a 208 × 248 point box.

### One wrist-raise, one run

Runs last about a minute. Lower your wrist and the world freezes.

![Choosing the Nordic Forest with the Digital Crown](https://www.joshuamartens.com/images/lunch/watch-picker.jpg)

[Video, silent loop: lunch-watch](https://www.joshuamartens.com/videos/lunch-watch.mp4) (poster frame: https://www.joshuamartens.com/videos/lunch-watch-poster.jpg)

*Caption:* Flick the Crown to pick a world, then turn it to steer

03

Prototype

## Prove the fun before building it

- **Problem:** Whether a 60-second run is fun with one dial and one tap hung on untuned numbers: speed, grip, chaser speed, sleeper density.

- **Decision:** Prove the rules in a browser prototype with live sliders, then tune the feel on the watch itself.

- **Trade-off:** The rules live in two codebases, and they drifted constantly.

- **Outcome:** Problems surfaced before the app existed.

The prototype proved the rules, but it’s played on a keyboard, and nothing about a keyboard feels like a Crown. So the watch got its own tuning controls. I tuned on the wrist, then carried the settings back to the prototype. The watch won.

![The browser prototype: a playable watch with sound, haptics and wrist controls, beside the notes for version 0.4](https://www.joshuamartens.com/images/lunch/prototype.jpg)

*Caption:* The browser prototype

### Building with Claude Code

Claude Code wrote the code. When it made a choice I didn’t like, I treated it like a teammate: it explained why, then gave me three to five other ways to do it. I picked one, or reshaped it.

### The first run, beat by beat

A storyboard mapped a 47-second first run: what’s on screen, what you do, what the wrist feels. Each beat teaches one thing, so there’s no tutorial screen.

![The storyboard: the first run in eleven beats, each with a watch screen and the haptic it plays](https://www.joshuamartens.com/images/lunch/storyboard.jpg)

04

Art direction

## A 3D look on a watch that can’t do 3D

A script pre-renders every model into 2D images, drawn from 24 angles: 2,306 crisp images, light on the battery. The cost: characters turn in 15° steps, and a model change means a re-render.

![Wolves closing in while the screen edge glows red](https://www.joshuamartens.com/images/lunch/phone-unbothered.jpg)

![A giant bear chasing the capybara through a snowy forest](https://www.joshuamartens.com/images/lunch/phone-giant-bear.jpg)

*Caption:* Wake-ups, tree tackles and the red edge that warms as a chaser closes in

05

Game UX

## Designed for a glance

Watch games are played in glances, often with the sound off. A lighter set of haptics is the default because the full set drained the battery. It’s fully playable on mute.

### A haptic for everything you react to

A wake-up, a bite, a near miss and a drift each feel different.

### You can see your noise

A dashed ring shows how far you’re heard, and sleepers twitch before they wake, so a sharp player reads the road.

### A first run that teaches without words

Berries curve you around a tree, a Crown icon rocks until you steer, and a fingertip taps the Unbothered ring when predators close in.

06

Retention

## One new world a day, the same for everyone

A game played in glances needs a reason to come back. Everyone gets one ranked run on the day’s world, and Sundays bring a boss. Practice all you like afterward, and keep the streak alive.

[Video, silent loop: lunch-watch-boss](https://www.joshuamartens.com/videos/lunch-watch-boss.mp4) (poster frame: https://www.joshuamartens.com/videos/lunch-watch-boss-poster.jpg)

*Caption:* Sunday’s boss on the wrist: a giant bear on your tail from the first second

![The iPhone home screen: Boss #001, Worlds and the leaderboard](https://www.joshuamartens.com/images/lunch/phone-home.jpg)

![The Daily result: 629, a one-day streak, you outlived 97% of players today](https://www.joshuamartens.com/images/lunch/phone-daily-result.jpg)

*Caption:* The same day’s world on iPhone, and the ranked result

07

Business model

## Pay once, play everywhere

- **Problem:** One app across Apple Watch, iPhone and iPad, under Apple’s rules.

- **Decision:** One app and one $4.99 unlock, All of Lunch. The Daily is free; every world is locked but visible. No ads, subscription or account.

- **Trade-off:** Anonymous play stats only, with a switch to turn them off: which worlds get played, never who plays them.

- **Outcome:** One purchase covers every device, and the privacy label reads “Data Not Linked to You.”

In the beta (my daughter and me), the watch tracked first-run length and next-day return against thresholds set before the first build.

![The All of Lunch offer on iPhone: pay once, yours on every device](https://www.joshuamartens.com/images/lunch/phone-offer.jpg)

![The lunched screen on iPhone with a new best of 305 and Run it back](https://www.joshuamartens.com/images/lunch/phone-lunched.jpg)

### Locked, not grayed out

Nobody noticed the small gray padlock. Graying worlds out would hide the pitch, their colors and music, and a big padlock said locked, not what you get. So each locked world keeps its colors and gets a band in its own accent, saying what the unlock gives: no ads, no subscription.

![All five worlds on Apple Watch, each locked with a band in its own color reading All of Lunch, $4.99, no ads, no subscription: Nordic Forest, Badlands, Mountain Terraces, The River and The Sky Ocean](https://www.joshuamartens.com/images/lunch/lock-band-watch.jpg)

*Caption:* Five worlds, five bands, each in the world’s own color. The River and The Sky Ocean are new in 1.1.

### Two new worlds

The River floats the tub on a current; tap to dive. The Sky Ocean hangs it from balloons over floating islands.

![The River on iPhone: Cappy’s tub on the rapids among logs and sandbars, otters waking around him, Rude awakening +25 twice](https://www.joshuamartens.com/images/lunch/phone-river.jpg)

![The Sky Ocean on iPhone: Cappy’s tub on balloons among floating islands and wind streaks, gulls closing in, Stray star +5](https://www.joshuamartens.com/images/lunch/phone-sky.jpg)

08

iPhone & iPad

## Then the iPhone, as a natural extension

A bigger screen at the same scale would make the Daily easier, so every device sees the same radius around Cappy, with weather beyond it. It’s a game in its own right, not a port. Hold the phone in landscape and steer with your thumbs; both at once go Unbothered.

[Video, silent loop: lunch-phone](https://www.joshuamartens.com/videos/lunch-phone.mp4) (poster frame: https://www.joshuamartens.com/videos/lunch-phone-poster.jpg)

*Caption:* A run on iPhone, steered with two thumbs

![The iPhone first run: hold a side to turn](https://www.joshuamartens.com/images/lunch/phone-first-run.jpg)

![A pileup in the forest during a boss run](https://www.joshuamartens.com/images/lunch/phone-pileup.jpg)

*Caption:* The iPhone first run teaches thumb steering, then gets out of the way

### Widgets, complications and Control Center

Today’s Daily lives on the Home Screen and the watch face, and a Control Center button drops you straight into it.

### An iMessage sticker pack

Twenty-four animated stickers, rendered from the game’s own models.

- ![COOKING](https://www.joshuamartens.com/images/lunch/stickers/cooking.png)

- ![SKRRT ×3](https://www.joshuamartens.com/images/lunch/stickers/skrrt.png)

- ![AURA](https://www.joshuamartens.com/images/lunch/stickers/aura.png)

- ![BET](https://www.joshuamartens.com/images/lunch/stickers/bet.png)

- ![COOKED](https://www.joshuamartens.com/images/lunch/stickers/cooked.png)

- ![The capybara angel](https://www.joshuamartens.com/images/lunch/stickers/angel.png)

- ![Three wolves waking up](https://www.joshuamartens.com/images/lunch/stickers/wake.png)

- ![NEW BEST](https://www.joshuamartens.com/images/lunch/stickers/new_best.png)

- ![You’ve been lunched.](https://www.joshuamartens.com/images/lunch/stickers/lunched.png)

- ![A sleeping wolf](https://www.joshuamartens.com/images/lunch/stickers/sleepy.png)

- ![A wolf on the run](https://www.joshuamartens.com/images/lunch/stickers/wolf_run.png)

- ![The capybara on a turntable](https://www.joshuamartens.com/images/lunch/stickers/spin.png)

### The app icon

It has to read on a watch face and a home screen. After more than thirty backgrounds, the answer was Cappy’s own head over pink cubes.

- ![The Lunch app icon](https://www.joshuamartens.com/images/lunch/icon.png)

- ![Icon exploration: pink](https://www.joshuamartens.com/images/lunch/icons/pink.webp)

- ![Icon exploration: bands](https://www.joshuamartens.com/images/lunch/icons/bands.webp)

- ![Icon exploration: rings](https://www.joshuamartens.com/images/lunch/icons/rings.webp)

- ![Icon exploration: ground](https://www.joshuamartens.com/images/lunch/icons/ground.webp)

- ![Icon exploration: mesas](https://www.joshuamartens.com/images/lunch/icons/mesas.webp)

- ![Icon exploration: dither](https://www.joshuamartens.com/images/lunch/icons/dither.webp)

- ![Icon exploration: sunburst](https://www.joshuamartens.com/images/lunch/icons/sunburst.webp)

- ![Icon exploration: worlds](https://www.joshuamartens.com/images/lunch/icons/worlds.webp)

- ![Icon exploration: halftone](https://www.joshuamartens.com/images/lunch/icons/halftone.webp)

- ![Icon exploration: torii](https://www.joshuamartens.com/images/lunch/icons/torii.webp)

- ![Icon exploration: stars](https://www.joshuamartens.com/images/lunch/icons/stars.webp)

- ![Icon exploration: diamonds mint](https://www.joshuamartens.com/images/lunch/icons/diamonds_mint.webp)

- ![Icon exploration: aurora](https://www.joshuamartens.com/images/lunch/icons/aurora.webp)

- ![Icon exploration: sun](https://www.joshuamartens.com/images/lunch/icons/sun.webp)

- ![Icon exploration: face yuzu](https://www.joshuamartens.com/images/lunch/icons/face-yuzu.webp)

Voice

## Don’t get cooked.

The copy is funny by contrast, never on the nose. Cappy drives a bathtub, so the game speaks bath and kitchen: “Don’t get cooked.”, TAP TO DIP, RUN IT BACK, and “You’ve been lunched.” as his angel floats up.

The same voice runs through the stickers, the App Store and the landing page.

> “A new world every day, the same for everyone. One ranked run, a streak to keep, and a capybara in a bathtub who would like to keep his.”

> — The App Store promotional text

Results

## From an idea to the App Store, on my own

10

days from first sketch to Apple Watch, iPhone and iPad

2,306

voxel images, all rendered by script

500+

unit tests guarding the rules and the Daily

0

accounts, names or emails collected

### After launch

Parental controls made the first install rough for kids: my daughter hit iOS’s raw purchase error. Version 1.1 checks first and offers an Ask a parent button on iPhone and iPad. A paid world marked “free today” played the Daily instead, so every world now sits behind the one unlock.

### What I’d change

Test the first open after an update on real phones: a gray screen survived two releases until 1.2 fixed it. Build the Daily to change without an app update.

![Cappy in his bathtub with a wolf pack waking around him in the Nordic Forest](https://www.joshuamartens.com/images/lunch/phone-chase.jpg)

---

## Image index

Every image of the work (logos aside), in page order, with its alt text and size in pixels.

| # | Alt text | Size | URL |
|---|---|---|---|
| 1 | Lunch home screen on Apple Watch: Boss #001 and Worlds | 416×496 | https://www.joshuamartens.com/images/lunch/watch-home.jpg |
| 2 | You’ve been lunched, with the capybara angel floating up | 416×496 | https://www.joshuamartens.com/images/lunch/watch-lunched.jpg |
| 3 | The All of Lunch offer on Apple Watch | 416×496 | https://www.joshuamartens.com/images/lunch/watch-offer.jpg |
| 4 | The Lunch moodboard: the voxel wordmark, the target look on a watch, the palette and the rules of the look | 2400×1600 | https://www.joshuamartens.com/images/lunch/moodboard-cover.jpg |
| 5 | Choosing the Nordic Forest with the Digital Crown | 416×496 | https://www.joshuamartens.com/images/lunch/watch-picker.jpg |
| 6 | The browser prototype: a playable watch with sound, haptics and wrist controls, beside the notes for version 0.4 | 2400×1312 | https://www.joshuamartens.com/images/lunch/prototype.jpg |
| 7 | The storyboard: the first run in eleven beats, each with a watch screen and the haptic it plays | 2370×1609 | https://www.joshuamartens.com/images/lunch/storyboard.jpg |
| 8 | Wolves closing in while the screen edge glows red | 1600×828 | https://www.joshuamartens.com/images/lunch/phone-unbothered.jpg |
| 9 | A giant bear chasing the capybara through a snowy forest | 1600×828 | https://www.joshuamartens.com/images/lunch/phone-giant-bear.jpg |
| 10 | The iPhone home screen: Boss #001, Worlds and the leaderboard | 1600×828 | https://www.joshuamartens.com/images/lunch/phone-home.jpg |
| 11 | The Daily result: 629, a one-day streak, you outlived 97% of players today | 1600×828 | https://www.joshuamartens.com/images/lunch/phone-daily-result.jpg |
| 12 | The All of Lunch offer on iPhone: pay once, yours on every device | 1600×828 | https://www.joshuamartens.com/images/lunch/phone-offer.jpg |
| 13 | The lunched screen on iPhone with a new best of 305 and Run it back | 1600×828 | https://www.joshuamartens.com/images/lunch/phone-lunched.jpg |
| 14 | All five worlds on Apple Watch, each locked with a band in its own color reading All of Lunch, $4.99, no ads, no subscription: Nordic Forest, Badlands, Mountain Terraces, The River and The Sky Ocean | 2080×496 | https://www.joshuamartens.com/images/lunch/lock-band-watch.jpg |
| 15 | The River on iPhone: Cappy’s tub on the rapids among logs and sandbars, otters waking around him, Rude awakening +25 twice | 1600×828 | https://www.joshuamartens.com/images/lunch/phone-river.jpg |
| 16 | The Sky Ocean on iPhone: Cappy’s tub on balloons among floating islands and wind streaks, gulls closing in, Stray star +5 | 1600×828 | https://www.joshuamartens.com/images/lunch/phone-sky.jpg |
| 17 | The iPhone first run: hold a side to turn | 1600×828 | https://www.joshuamartens.com/images/lunch/phone-first-run.jpg |
| 18 | A pileup in the forest during a boss run | 1600×828 | https://www.joshuamartens.com/images/lunch/phone-pileup.jpg |
| 19 | COOKING | 408×408 | https://www.joshuamartens.com/images/lunch/stickers/cooking.png |
| 20 | SKRRT ×3 | 408×408 | https://www.joshuamartens.com/images/lunch/stickers/skrrt.png |
| 21 | AURA | 408×408 | https://www.joshuamartens.com/images/lunch/stickers/aura.png |
| 22 | BET | 408×408 | https://www.joshuamartens.com/images/lunch/stickers/bet.png |
| 23 | COOKED | 408×408 | https://www.joshuamartens.com/images/lunch/stickers/cooked.png |
| 24 | The capybara angel | 408×408 | https://www.joshuamartens.com/images/lunch/stickers/angel.png |
| 25 | Three wolves waking up | 408×408 | https://www.joshuamartens.com/images/lunch/stickers/wake.png |
| 26 | NEW BEST | 408×408 | https://www.joshuamartens.com/images/lunch/stickers/new_best.png |
| 27 | You’ve been lunched. | 408×408 | https://www.joshuamartens.com/images/lunch/stickers/lunched.png |
| 28 | A sleeping wolf | 408×408 | https://www.joshuamartens.com/images/lunch/stickers/sleepy.png |
| 29 | A wolf on the run | 408×408 | https://www.joshuamartens.com/images/lunch/stickers/wolf_run.png |
| 30 | The capybara on a turntable | 408×408 | https://www.joshuamartens.com/images/lunch/stickers/spin.png |
| 31 | The Lunch app icon | 512×512 | https://www.joshuamartens.com/images/lunch/icon.png |
| 32 | Icon exploration: pink | 512×512 | https://www.joshuamartens.com/images/lunch/icons/pink.webp |
| 33 | Icon exploration: bands | 512×512 | https://www.joshuamartens.com/images/lunch/icons/bands.webp |
| 34 | Icon exploration: rings | 512×512 | https://www.joshuamartens.com/images/lunch/icons/rings.webp |
| 35 | Icon exploration: ground | 512×512 | https://www.joshuamartens.com/images/lunch/icons/ground.webp |
| 36 | Icon exploration: mesas | 512×512 | https://www.joshuamartens.com/images/lunch/icons/mesas.webp |
| 37 | Icon exploration: dither | 512×512 | https://www.joshuamartens.com/images/lunch/icons/dither.webp |
| 38 | Icon exploration: sunburst | 512×512 | https://www.joshuamartens.com/images/lunch/icons/sunburst.webp |
| 39 | Icon exploration: worlds | 512×512 | https://www.joshuamartens.com/images/lunch/icons/worlds.webp |
| 40 | Icon exploration: halftone | 512×512 | https://www.joshuamartens.com/images/lunch/icons/halftone.webp |
| 41 | Icon exploration: torii | 512×512 | https://www.joshuamartens.com/images/lunch/icons/torii.webp |
| 42 | Icon exploration: stars | 512×512 | https://www.joshuamartens.com/images/lunch/icons/stars.webp |
| 43 | Icon exploration: diamonds mint | 512×512 | https://www.joshuamartens.com/images/lunch/icons/diamonds_mint.webp |
| 44 | Icon exploration: aurora | 512×512 | https://www.joshuamartens.com/images/lunch/icons/aurora.webp |
| 45 | Icon exploration: sun | 512×512 | https://www.joshuamartens.com/images/lunch/icons/sun.webp |
| 46 | Icon exploration: face yuzu | 768×768 | https://www.joshuamartens.com/images/lunch/icons/face-yuzu.webp |
| 47 | Cappy in his bathtub with a wolf pack waking around him in the Nordic Forest | 1600×828 | https://www.joshuamartens.com/images/lunch/phone-chase.jpg |

## Videos

Silent, looping screen recordings. Each has an MP4 and a poster frame.

- https://www.joshuamartens.com/videos/lunch-watch-duo.mp4 (poster: https://www.joshuamartens.com/videos/lunch-watch-duo-poster.jpg)
- https://www.joshuamartens.com/videos/lunch-watch.mp4 (poster: https://www.joshuamartens.com/videos/lunch-watch-poster.jpg)
- https://www.joshuamartens.com/videos/lunch-watch-boss.mp4 (poster: https://www.joshuamartens.com/videos/lunch-watch-boss-poster.jpg)
- https://www.joshuamartens.com/videos/lunch-phone.mp4 (poster: https://www.joshuamartens.com/videos/lunch-phone-poster.jpg)

## About this document

- **Source page:** https://www.joshuamartens.com/work/lunch
- **Author:** Joshua Martens, founder and designer (https://www.joshuamartens.com)
- **Contact:** https://www.joshuamartens.com/contact
- **Other case studies:** https://www.joshuamartens.com/work/magnitude (https://www.joshuamartens.com/work/magnitude.md), https://www.joshuamartens.com/work/hagerty (https://www.joshuamartens.com/work/hagerty.md)
- **Generated from the live page.** If anything here disagrees with https://www.joshuamartens.com/work/lunch, the page is right.
