A one-person studio making small games and handy apps. Everything here is free to open, quick on a bad connection, and works without an account.
Five things are live
Flagship · Live on the web · Free · No account
Put one link or a hundred behind a single short link. Visitors land on a springboard page with a preview of each destination.
Every link expires — up to 60 hours, extendable. That's deliberate: with no accounts there's no owner to chase, so expiry keeps the system tidy and rewards links people actually use, and because it's stated up front nothing vanishes by surprise. Links can be password-protected, there are no third-party trackers, and clicks are counted per hour without storing IP addresses.
ReactHonoCloudflare WorkersD1KV
Shorten a linkLive on the web · Free · No account
Two contenders enter. You pick a side and make your case. New matchup every day.
A hub with a subdomain per category, each one installable in its own right. Matchups are pre-seeded rather than generated per request, so an extra player costs nothing to serve.
Cloudflare PagesWorkersD1PWA
Play today's matchupLive on the web · New puzzle at midnight UTC
Identify the mystery entity from attribute clues — exact match, near match, higher, lower.
One engine behind a family of games — Recipedle and Botanidle are live, with Breedle, Marinedle and Readle queued. A new category is content and configuration rather than a rebuild.
Cloudflare PagesWorkersD1
Play today's puzzleLive on the web · Nothing uploaded
Drop images in, reorder them, play it full screen — then export the whole thing as a video file.
Entirely client-side. Images stay in your browser, frames are composed on a canvas and encoded on the fly, up to 4K in either orientation.
SolidJSCanvasMediaRecorderIndexedDB
Make a slideshowiOS · Android · Web
The span between two moments, as a total and broken down into every unit. The name is the units.
One TypeScript codebase across three storefronts. Live since 2023 and still maintained — the hard part was never the UI, it was what "a month later" actually means.
Ionic ReactCapacitorLuxon
Open the calculatorHow it's built
Static, serverless, and built to cost almost nothing to run. LNKA and the daily games sit on Cloudflare Pages, Workers and D1; the apps on Firebase Hosting; nothing runs a server of its own.
That budget is the point rather than a compromise. Near-zero running cost is what lets the games stay free with no ads and no sign-up, and it pushes the work onto the device instead of a server — which happens to be what makes them quick on the phone people actually own.
Earlier work
Who's behind it
Michael Johansson — a senior software engineer in Manchester with more than a decade building mobile and web products, for Barclays, Gendius and currently Apadmi. The studio is where the ideas that don't fit a day job get built.