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.

Platforms
iOS, iPadOS, macOS, Web
Based in
Oregon, USA
Status
Built for personal use, shared as-is

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.

How I work

Five steps, from an itch to something I use every day.

  1. Notice

    Something I use every day is missing, slow, or wants an account it doesn't need.

    Ends with: a note to myself

  2. Sketch

    A few screens on paper, then a rough prototype: enough to know whether I'd actually use it.

    Ends with: a prototype

  3. Build

    Short iterations with platform frameworks. At the end of each, a build on my own devices.

    Ends with: an installable build

  4. Use

    Live with it for a while. Features I stop reaching for get cut before anything ships.

    Ends with: a release, or a deletion

  5. 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.

No form, no newsletter, no tracking pixel. Just email.

Jump to a section