Personal projects by Kai
Things I wanted to exist.
I'm Kai. appl.dev is where I build privacy-first iOS and Mac apps, small websites, and GitHub projects — for my own use first, because I wanted them and enjoy making them.
What I build
Three kinds of things, all of them for my own use first.
- iOS and Mac apps
- Swift and SwiftUI for iPhone, iPad, and Mac. Platform frameworks first, data kept on the device, and no account to create before the app does anything.
- Websites
- Small, fast, static sites like the ones in the portfolio below: plain HTML, CSS, and JavaScript, no trackers, and no cookie banner because there is nothing to consent to.
- GitHub projects
- Scripts, tools, and experiments published as-is, with a README that explains what each one does and why I wanted it.
- Upkeep
- Updates for new OS versions and small fixes for the things I still use, and an honest retirement for the things I don't, instead of leaving them half-alive.
Portfolio
Live websites, each one a small idea taken all the way to its own domain. Every card opens the site in a new tab.
-
App Store · iOS
Sats on Fire
My iOS app, live on the App Store.
(opens in a new tab) -
0r.vc
Concept site for a fictional early-stage venture firm in Oregon.
(opens in a new tab) -
vv.pe
Concept site for a fictional Pacific Northwest private equity firm.
(opens in a new tab) -
btc.flowers
Grow a flower from any Bitcoin block height and keep it as an SVG.
(opens in a new tab) -
btc.tennis
Pong on a tennis court, scored like tennis, played for demo sats.
(opens in a new tab) -
btcapps.me
Four questions to find the kind of Bitcoin app that fits you.
(opens in a new tab) -
btcapps.org
App Blueprint, an open design notebook for Bitcoin apps.
(opens in a new tab) -
btcaux.me
Four small Bitcoin calculators that run offline in the browser.
(opens in a new tab) -
btcsite.org
The Bitcoin Reference: a plain-words glossary, reading path, and quiz.
(opens in a new tab) -
layertwo.org
Bitcoin layer two explained, with a payment channel simulator.
(opens in a new tab) -
liquor.dev
Cocktails written as source code, with a compiler that scales servings.
(opens in a new tab) -
offlineboards.com
An infinite whiteboard that works without internet.
(opens in a new tab) -
utxo.yachts
UTXOs explained as boats in a harbour, with a coin-selection simulator.
(opens in a new tab) -
whitepaperjourney.com
A guided walk through the Bitcoin whitepaper, one section at a time.
(opens in a new tab) -
whysatoshi.org
A five-whys descent into the reasons behind Bitcoin's design.
(opens in a new tab) -
year2140.org
The last bitcoin by the numbers: supply curve, halvings, and the fee-only era.
(opens in a new tab) -
nordictug.me
Nordic Tug, a Pacific Northwest web design and development studio.
(opens in a new tab) -
proofofresources.com
Proof of Resources, a curated collection of Bitcoin tools and analytics.
(opens in a new tab) -
sffpc.io
Plan a small form factor PC that actually fits, with a case and parts database.
(opens in a new tab)
How I work
Five steps, from an itch to something I use every day.
-
Notice
Something I use every day is missing, slow, or wants an account it doesn't need.
Ends with: a note to myself
-
Sketch
A few screens on paper, then a rough prototype: enough to know whether I'd actually use it.
Ends with: a prototype
-
Build
Short iterations with platform frameworks. At the end of each, a build on my own devices.
Ends with: an installable build
-
Use
Live with it for a while. Features I stop reaching for get cut before anything ships.
Ends with: a release, or a deletion
-
Keep
Updates for new OS versions and small fixes for as long as I use it. Honest retirement when I don't.
Ends with: something that still works
Principles
The rules I hold myself to, whatever the size of the thing.
Privacy first
Data stays on the device. No accounts, no analytics, no third-party scripts, and nothing phoned home.
Small surface area
Fewer screens, fewer settings, fewer dependencies. Every feature has to earn the time it takes to maintain.
Accessible by default
Dynamic Type, VoiceOver, keyboard access, and real contrast go into the first build, not a later fix.
Fast on old devices
Tested on the oldest hardware I still own, not only on the newest.
Open where it can be
Code that can be public goes on GitHub as-is, with a README that explains how to build it.
Honest about scope
Every project says what it does, what it doesn't, and whether it's a concept, an experiment, or something I use daily.
Contact
Found a bug, have a question about one of these, or made something similar? Send a short note. I read everything and reply when I have something useful to say.
[email protected]No form, no newsletter, no tracking pixel. Just email.