indie · solo dev made in charlotte ~/ since 2024

Small focused apps for everyday life.

Nullnet ships utilities you'd build yourself if you had a weekend. Tickets to Wallet. Bedtime stories on the iPad. A diary for theater nights. The setlist, tracked live at the show. Fair draws you can replay. No subscriptions, no email capture, no AI hype — just apps that do one thing the way Apple would.

~ $ nullnet --status
→ 5 apps shipping
→ 0 employees
→ 1 nightly build
~ $

// 01 — apps

01 · ios 26 · ticketing utility

PassMint

Drop in a ticket PDF. Get back a stack of signed Apple Wallet passes — one per page, with on-device LLM picking colors, icons, and headers from the document. Backed by a Cloudflare Worker for the cert signing.

SwiftUI PassKit Vision Cloudflare Workers
02 · ios 26 + ipados + tvos · family

StoryMint

An AI read-along storybook for kids. Voice-create a story in 30 seconds, get an illustrated picture book, and follow along word-by-word with green-for-read, yellow-for-now, red-for-difficult highlighting. Syncs to TV.

SwiftUI AVSpeech Liquid Glass CloudKit
03 · ios + web · theater diary

CurtainCall

A Letterboxd for live theater. Log the shows you've attended, rate them in half-stars, and record which touring cast you actually saw — understudies, standbys, and swings included. No poster art, ever; type carries the whole thing.

SwiftUI Next.js Kotlin SSR
04 · ios 17+ · setlist companion

Encore

A setlist.fm companion for concert nights. Open it at the venue: it finds who's playing from your location, pulls the artist's recent setlists, and tracks the show as a tap-to-check list — song 9 of 22, 13 left. Data from setlist.fm and Ticketmaster.

SwiftUI setlist.fm Ticketmaster CoreLocation
05 · web + ios · fair-draw engine

AllotMint

Fair assignment of people to capacity-limited slots by ranked preference — students to events, staff to shifts. The draw is live and replayable: same seed, same roster, identical result, and you watch every placement land. One shared Kotlin engine under web and iOS.

Next.js SwiftUI Kotlin local-first
// 02 — how nullnet works

One person, five products, zero dark patterns. We ship apps that respect your time and your data.

→ 01

Apple-native, always

SF Pro, SF Symbols, Liquid Glass. If Apple ships a control, we use it. The OS is the design system.

→ 02

On-device first

AI runs on your phone where it can. The cloud only handles things hardware can't — like signing pass certs.

→ 03

One purchase, forever

No subscriptions. No upsells. You buy the app once. Updates are a thank-you, not a hostage.