October 9, 2026 · 8 min read
Designing a puzzle with no words: how Tare teaches its rules, and what accessibility took
Tare has 80 levels and not one word on the playing field: no tutorial screen, no arrows, no “drag here”. The puzzle had to teach itself, and with no text to label, accessibility had to reach the board itself. Here is what the first levels teach and how, then what it took to make the same puzzle work with VoiceOver, high contrast and large type.
October 9, 2026 · 7 min read
No ads, no subscription: why Tare is free to start and $2.99 once
Tare is out today as a free download. Chapter I's 20 levels are free for good, and one $2.99 purchase opens the other 60. There are no ads, no subscription and nothing else to buy. Here is the whole model in one table, the paid-app plan it replaced, and how the purchase turned out to be too quiet for App Review.
October 9, 2026 · 9 min read
How to solve a balance puzzle, and how Tare proves all 80 of its levels
Tare's 80 levels are hanging mobiles you balance with numbered weights, and some of the weights are hidden. Every one was built by hand, and none ships until the test suite proves three things about it: it has exactly one answer, its cards alone name every hidden weight, and its decoys fit nowhere. Here is how to solve one, and how that proof works.
October 7, 2026 · 7 min read
Xiangqi openings explained: the Central Cannon, its answers, and the quieter first moves
Xiangqi opening theory is narrower than chess theory. One first move is the most common, a handful of named answers meet it, and five quieter first moves make up the rest of the list. Here are the ten openings worth knowing by name, the notation they are written in, and the main line of the Central Cannon against the Screen Horses, move by move.
October 4, 2026 · 7 min read
Xiangqi rules for chess players: what carries over, and what catches you out
If you play chess, you already know half of xiangqi. The chariot is a rook, the horse is almost a knight, and checkmate still ends the game. The other half is a short list of rules, and most of it reverses a chess habit. Here is the board, every piece next to its chess cousin, and the rules that cost chess players their first games.
October 3, 2026 · 6 min read
Puzzle games without ads or lives: how free games make money, and what Millrace sells instead
Free on the App Store covers very different deals. Some free puzzle games are paid for with your attention, some with your patience, some with a subscription. Here is how each model works, how to spot it on a product page before you install, and the complete list of what Millrace sells: nine optional items, none of which a level needs.
October 1, 2026 · 9 min read
902 xiangqi mate problems, eight old books, and the problems I left out
Xiangqiful ships 902 consecutive-check mate problems. I composed 194 of them; the other 708 come from eight classical manuals, one of them from 1570. No book problem was edited to make it work. The ones that didn't work aren't in the app. Here is the full count, by book and by depth, and how every line was checked.
September 27, 2026 · 8 min read
How to plan moves ahead in a tile puzzle: six checks, and Millrace's Level 1 move by move
Nothing in a Millrace level is random, so every level can be planned to the end before your first swipe. In practice, planning is a short list of checks you run before each move. Here are the six that matter, why each follows from the rules, and Level 1 played move by move, including the two swipes that lose it on the spot.
September 24, 2026 · 8 min read
Sixty-four levels, none written by hand: how Millrace finds and proves its puzzles
I didn't write any of Millrace's 64 levels. A generator proposed them, an exhaustive solver measured each one, and a gate in the test suite threw away all but a few candidates in every thousand. This is how that works — and what an earlier version of this game's puzzle mode taught me about why it has to.
August 29, 2026 · 8 min read
Shogi openings for beginners: Static Rook, Ranging Rook and the first lines to learn
A chess player can learn a few first moves and get by. Shogi asks a bigger question first: where is your rook going to live? Every shogi opening answers it one of two ways, and the answer decides your castle, your attack and the kind of game you will play. Here is the map, two lines written out move by move, and a way to pick your first opening.
August 22, 2026 · 7 min read
Puppy and kitten vaccination schedules: what's due when, and which dates to keep
Most puppies and kittens get their first vaccines at six to eight weeks. What comes after is where owners lose track: how many more doses, how far apart, why the last one has to wait until 16 weeks, and why the vet wants another visit at six months or a year. Three sets of veterinary guidelines answer those questions and mostly agree. Here they are side by side, with the dates worth keeping from every certificate.
August 13, 2026 · 15 min read
The bill-splitting math nobody agrees on: tax, tip, shared plates, and the leftover cent
There is no single correct way to split a restaurant bill. There are about six defensible ways, they produce answers that differ by twenty dollars a head, and your table has never agreed on which one it uses. Here is every rule with the arithmetic worked all the way out — tax, tip, the shared bottle, and the cent that will not divide.
August 6, 2026 · 12 min read
PPL, Upper/Lower, 5/3/1: choosing a strength program you will still be running in twelve weeks
Between two competently written strength programs run by the same person for the same twelve weeks, the difference in results is small. The difference between twelve weeks completed and twelve weeks abandoned in week five is enormous. So the useful comparison is not which program is best — it is which one survives your actual calendar. Here is that comparison, with the progression rules spelled out.
July 29, 2026 · 13 min read
What an iPhone app can actually block, and what it structurally cannot
No third-party iPhone app blocks anything by itself. It asks iOS to do the blocking, through three Apple frameworks with sharp, published limits. Those limits explain why your blocker cannot name the apps you blocked, why notifications still arrive, and why every honest answer to 'can this be bypassed' is yes.
July 25, 2026 · 6 min read
How to compress a video for email: the size limits and the bitrate math
Every email provider caps what it will carry, and video reaches the cap fast. Here are the limits Gmail, Outlook and iCloud Mail publish, why a 25 MB limit does not take a 25 MB file, the arithmetic that turns a target size into a bitrate, and how MediaKit runs that arithmetic on iPhone or Mac without uploading the clip.
July 16, 2026 · 13 min read
The same Wikipedia article is a different article in another language
The languages sidebar on a Wikipedia article looks like a language switcher. It is not. Each language Wikipedia is an independent encyclopedia with its own editors, its own inclusion rules, and its own article set, and two editions can disagree about facts, framing, length, and whether a subject merits an article at all. Here is what actually differs, how big each edition really is, and why reading a topic twice in two languages is a real research technique.
July 12, 2026 · 12 min read
Your vet paperwork is a household document, and it should never leave the phone
Nobody would upload a photo of their driving licence to a free web tool. Plenty of people photograph the dog's rabies certificate into a cloud pet app without a second thought, and those two documents carry roughly the same household. Here is what is actually printed on vet paperwork, what changes when the image leaves the device, and a four-test checklist you can run on any health app before you trust it with the drawer.
July 1, 2026 · 12 min read
Find every recurring charge you are paying, without linking a bank account
Most people audit their subscriptions by scrolling a bank statement, which is the one method almost guaranteed to miss the expensive ones. Recurring charges do not live in one list. They live in eight, and the yearly ones are invisible eleven months out of twelve. Here is the full checklist, in the order that finds the most money first.
June 27, 2026 · 8 min read
How to calculate MRR for App Store subscriptions from Apple's Subscription report
App Store Connect's Analytics dashboard now shows an MRR figure, but Apple doesn't publish how it gets there. The daily Subscription report has every input you need to work it out yourself. The arithmetic is one line. When two dashboards disagree, the cause is almost always one of four decisions around that line.
June 23, 2026 · 14 min read
How to read a shogi engine evaluation (and why it is not a chess centipawn)
A chess player opens a shogi analysis for the first time, sees +1800, and divides by a hundred out of habit. The arithmetic almost works — a YaneuraOu pawn is 90 points, not 100 — and the conclusion is still wrong, because the same nominal material edge buys far less in a game where captured pieces come back as drops. Here is the whole conversion, band by band.
June 20, 2026 · 8 min read
How many steps a day should you aim for? What the large studies found, and how to pick a goal you'll keep
Ten thousand steps is a slogan, not a finding. The large studies of step counts and health point lower, and they agree with each other more than the headlines suggest. Here is what they measured, what they found, and how to turn that into a daily number you will still hit when an app you want is waiting behind it.
June 14, 2026 · 11 min read
What actually belongs in your pet's medical record (and who asks for what)
Your vet has a record. It is their record of their visits, and it stops at the door of their practice. The record that matters is the one you can produce yourself — at 11pm in an emergency clinic across town, or at a kennel that will not take your dog without proof of a Bordetella shot. Here is what belongs in it, and who actually asks for what.
June 11, 2026 · 9 min read
Shogi pieces in English: how to read the board without learning kanji
Every shogi piece is the same wooden wedge stamped with a kanji character — and that one design choice, not the rules, is what stops most chess players at the door. Here is every piece in plain English: its name, its character, how it moves, what it promotes to, and how to read a shogi move written down.
May 30, 2026 · 6 min read
How much to tip in the US: every common situation, with the arithmetic
American tipping is a dozen small rules rather than one big one, and most of the confusion comes from not knowing which one applies. Here is the situation-by-situation table, the arithmetic for the awkward cases (pre-tax or post-tax, the bar tab, the bill that already includes a gratuity), and where every number comes from.
May 23, 2026 · 6 min read
The unlock cost has to live outside the app
Every screen-time blocker on the App Store has the same secret. If you tap hard enough, it folds. A short essay on why every app in this category eventually adds a tap-through escape — and what to build instead.
May 13, 2026 · 9 min read
Why Mac-native is the right architecture for App Store screenshots — and why it's so rare
Every credible App Store screenshot tool on the market today is web-based. You drop your pre-release screenshots into someone else's browser, they get uploaded to someone else's servers, they get rendered there, and you download the result. This is a strange architecture for a product whose entire input is content under NDA. Here's why Mac-native makes more sense — and the structural reasons almost nobody builds it that way.
May 13, 2026 · 8 min read
What 14 days of Apple Health data is enough to reveal — and what isn't
Apple Health is the largest passive health dataset most people will ever own — and almost nobody uses it for what it's actually good at. Here's a practical guide to which questions two weeks of data can answer, which ones need 60 days, and which ones it can't answer at all.
May 13, 2026 · 10 min read
How to ship a localised App Store screenshot set in 39 languages without losing your weekend
App Store Connect accepts screenshots in 39 locales. Most indie apps ship in one. The gap isn't ambition — it's that the manual workflow takes 10 to 30 hours per release, and any change to a single screenshot means redoing the localisation pass. This post walks through a reproducible workflow that takes 90 minutes for the first release and 15 minutes for each subsequent one.
May 13, 2026 · 6 min read
How Plan Mode builds a wedding (or trip, or pregnancy) checklist
Most countdown apps stop at the number of days. Soon.'s Plan Mode goes one step further — it builds a tailored checklist for the event type and schedules each task backward from the date, so you don't have to. Here's exactly how the template engine works, why it's anchored to T-minus rather than T-plus, and what's deliberately not in it.
May 13, 2026 · 9 min read
How Chessful turns a Stockfish evaluation into adaptive training
Most chess apps that claim 'adaptive training' don't actually adapt to your games — they adapt to a generic difficulty curve over a fixed puzzle pool. Chessful adapts to the specific mistake patterns in your real losses. This post is the design note for that engine: how raw centipawn output becomes a motif classification, how motifs become skill-bucket flags, and how skill-bucket flags become a spaced-repetition training queue. No marketing. No black box.
May 13, 2026 · 8 min read
Why engine depth at club level should be tuned down, not up
Every chess app boasts about engine depth. Chess.com's analysis runs to depth 22. Lichess Cloud reaches 28. Stockfish on a modern desktop will happily run depth 35 if you let it. This post is about why none of that helps an 800–1800 rated player improve, and why Chessful intentionally caps engine depth at the level where the mistakes that actually decide club games become visible — and not deeper.
May 13, 2026 · 8 min read
Countdown psychology — why anticipation beats reminders
There's a sleep researcher's joke that the best part of a holiday is the planning of it. It's funnier because it's defensible — the psychology of anticipation is one of the most reliably positive emotional states a person can be in, and it costs nothing. This post is about why countdown apps work, why anticipation outperforms reminders as a motivational tool, and what a well-designed countdown should actually do with that emotional surface.
May 13, 2026 · 7 min read
Why your Apple Watch HRV number means almost nothing without a baseline
A 42ms HRV reading on Apple Watch can be excellent, average, or alarming — and you can't tell which without context. The number on its own is one of the most-misread metrics in consumer health. Here's what HRV actually tells you, what it doesn't, and why a personal baseline is the only frame that makes the reading usable.
May 13, 2026 · 9 min read
The 6 Apple Health metrics worth interpreting (and the 12 worth ignoring)
Apple Health collects more than 80 distinct health metrics. Most of them are noise, vanity numbers, or sensor data you have no useful frame for. Here's the practical short list: the six that actually move with your habits and reward interpretation, the twelve that look meaningful but mostly aren't, and how to tell the difference.
May 13, 2026 · 10 min read
App Store screenshot guidelines (2026): sizes, requirements, and what gets rejected
App Store screenshots have two sets of rules that get apps rejected or re-uploaded: the technical specs (which sizes, how many, what format) and Review Guideline §2.3.3 (what the screen is allowed to show). Here is both — the current 2026 specifications, and what each content clause actually means in practice.
May 13, 2026 · 11 min read
The 30 chess mistake motifs Chessful detects (and why each one matters)
Most chess apps reduce 'why did I lose' to a centipawn graph. Chessful turns it into one of about thirty specific mistake categories — each with a name, a structural cause, and an explicit drill that fixes it. This post is the full catalogue. It doubles as a reference page for Chessful users and a short tour of the mistakes that actually decide club-level games.
May 9, 2026 · 6 min read
The Mac already shipped with every media tool — someone just had to wire them together
MediaKit is 133 local tools for video, audio, image, PDF, and archive work, behind a single drag-and-drop Mac interface. None of the operations ever leave your machine. This post is the case for that — and why "upload your file to a random website to convert it" remains one of the worst defaults on the open web in 2026.
April 25, 2026 · 6 min read
LiftLog ships. You pick the price.
LiftLog — a design-led strength training log for iPhone — is on the App Store today. There is no subscription. After seven days free with no card on file, you decide what it's worth to you: $9.99, $19.99, $29.99, or $39.99. Once. Here's why.
April 18, 2026 · 5 min read
A calm dashboard for App Store revenue, on the iPhone
Your accountant doesn't need write-access to App Store Connect. Your designer doesn't either. Your spouse, your co-founder, your weekly bookkeeping flow — none of them need to be able to change your app's metadata in order to know how it's selling. AppMeta Pulse started as my answer to that; it turned out narrower — a quick revenue check for the account owner, on their own devices.
April 13, 2026 · 5 min read
TheWait is now Soon. — why we rebuilt and rebranded
After a year of quietly growing, TheWait has been fully rebuilt and relaunched as Soon. Here's why the old name had to go, what changed under the hood, and what stays the same for existing users.
April 11, 2026 · 6 min read
How to find a random Wikipedia article that is worth reading
Wikipedia's Random article link draws from more than seven million articles, and only about one in a thousand of them is a featured article. Here is every route the site itself provides to something worth reading, how random each one really is, and the address that makes Random land only on reviewed articles.
April 4, 2026 · 8 min read
How to organise your bills each month: a bill calendar that matches your paydays
A list of bills tells you what you owe. It does not tell you which paycheck pays for what, and that is the question behind every short week. Here is the bill-calendar method the CFPB recommends, a worked example on a real 2026 pay schedule, and the formula that makes biweekly pay behave.
March 28, 2026 · 5 min read
Your photos shouldn't ride the elevator to a stranger's data centre
Almost every online image converter you've used in the last decade uploaded your file to a server you don't control, processed it there, and gave you back a download. The convenience is real. The privacy implication is not small. MediaKit is the studio's argument that 133 of those tools should run on your Mac instead.
March 21, 2026 · 8 min read
How to sleep after a night shift: the drive home, the dark room, the nap and the days off
Sleeping in daylight after a night shift is hard for reasons that have little to do with discipline. Your body clock says it is morning, the street is awake and the sun is up. Some of the most specific public advice on what to do about it sits in a free NIOSH training course written for nurses. Here it is in the order you will need it: the end of the shift, the drive home, the bedroom, the nap and the days off.
March 14, 2026 · 5 min read
The case for a native App Store screenshot tool
App Store screenshots are the highest-leverage assets in the indie marketing stack and most indie developers, including past versions of me, treat them as the worst chore of every release. Mockly is the studio's argument that the workflow should be a native Mac app, not a YAML-driven CI script.
March 7, 2026 · 5 min read
Why I shipped a Strong-style logger that nobody asked for
Strong, Hevy, and Fitbod already exist. The strength-training logger market is well-served. I shipped GymLogger X anyway, and the reason isn't features — it's that nobody else seems to think Apple Watch deserves to be the actual workout log.
February 28, 2026 · 5 min read
Forty chess opponents, and none of them are me
The single hardest decision in Chessful's design wasn't the engine, the analysis, or the spaced-repetition trainer. It was that the app needed to feel like you were playing forty different people, not the same engine forty times wearing different hats.
February 21, 2026 · 6 min read
On building a native Mac client for App Store Connect
App Store Connect is the most consequential web app most indie developers use, and it has been the same web app for ten years. AppMeta is the studio's quietest app and arguably the most useful — a native Mac client for the ASC API, built for the day you're shipping in fourteen locales and need to stop scrolling.
February 14, 2026 · 4 min read
How to split a Valentine's dinner without making it weird
It's the 14th. Somewhere right now, a group of four friends is staring at a $312 dinner bill, three of them ordered the steak, one ordered the salad, and someone is doing math on a napkin. RightSplit was built for that exact moment.
February 7, 2026 · 5 min read
Reading without a feed: a quiet year with Wikipedia
I deleted my last social-feed app in late 2024. The hardest part wasn't withdrawal. It was rebuilding a habit of reading something, anything, in the small windows that used to be filled by scrolling. WanderWiki was, more than anything else, the tool I built to give that habit somewhere to live.
January 31, 2026 · 5 min read
I will not ask for your bank login
It's the last day of January and the bank-aggregator apps are advertising themselves into every podcast in America. The pitch is convenience. The price is your read access to your own checking account. AllPaid takes the other path on purpose.
January 24, 2026 · 6 min read
Building a sleep app for nurses, pilots, and the people who don't have a 9-to-5
Most sleep apps assume an 11pm bedtime and a 7am alarm. The people who keep hospitals, planes, and emergency rooms running don't live that life. AfterShift is the app I built after hearing the same complaint from too many friends in scrubs.
January 17, 2026 · 6 min read
Your Apple Health data isn't telling you what you think it's telling you
Three years of HRV charts, ten thousand data points, and a feeling that none of it added up to anything. The story behind Observa, and why interpretation matters more than tracking.
January 3, 2026 · 4 min read
If your fitness app is making you feel guilty in week one, that's the design — not you
Forty-eight hours into the new year, the fitness apps are already doing what they were built to do: rewarding you for one good day, then twisting the knife on the day after. A short note on why most of them are designed wrong, and what to look for in the ones that aren't.
January 1, 2026 · 3 min read
What I'm not doing in 2026
It's the first day of the year. Everywhere on the internet, people are listing what they will build, ship, optimize, and grow. Here's a shorter list — what this studio is choosing not to do.