$ whoami

Cameron Banga

Industrial engineering manager, patent holder, and indie iOS developer, bouncing between Chicago and Northwest Indiana. Processing data as 1's and 0's.

about

By day I manage industrial engineering work, mostly hydraulic hose assembly and the test equipment around it, which is where my patents come from. By night I build iOS apps, mostly small, private, on-device tools, plus Skyscraper, a Bluesky client for iPhone and iPad.

Before that, I spent years in mobile. I co-founded the app studio 9magnets, shipped 150+ apps, and wrote two books on mobile interface design. That was a decade ago. These days it's engineering by day and side projects by night, and I'm a Valparaiso University economics grad who never stopped building things. Outside of work: soccer, marathons, camping, and the Chicago Fire.

apps

FLAGSHIP · IPHONE · IPAD · MAC · VISION PRO

Skyscraper for Bluesky

A native Bluesky client aiming for the polish of Tweetie, Tweetbot and Ivory. Pinned custom feeds, DMs, push notifications, alt-text-first posting, moderation tools, and a real two-column iPad layout. Free, with an optional Pro tier.

View on the App Store →

patents

writing & things I like

BOOK

Essential Mobile Interaction Design

Perfecting Interface Design in Mobile Apps. Co-authored with Josh Weinhold. Addison-Wesley.

BOOK

iPhone User Interface Cookbook

Practical recipes for building great iPhone interfaces. Packt Publishing.

BLOG

Cam's Blog

A weblog, plus a Now page and saved bookmarks, all on my main site.

I SUPPORT

Vidette Makes · Unicode · omg.lol

A maker community, the Unicode Consortium, and the home of my main site.

older: iOS interview questions (1.6k★) · HopePoint · GitHub

the box

This page is the whole site: one file, no framework, no web fonts, no images, no trackers. It's served by a tiny Python process on Alpine Linux from a VPS with 128 MB RAM and 1 GB of disk. The numbers below are live, written by a cron job on the server once a minute.

page weight
…
server memory
…
disk used
…
uptime
…
this websiteOS + kernel + everything elsefreenot available (128 MB plan, ~91 MB usable)
disk: loading…
$ curl -sI tinyvps | head -3
HTTP/1.1 200 OK
Server: tiny Python · Content-Encoding: gzip
Cache-Control: public, max-age=300

$ loading stats…

Bar shows share of a 1 MB budget. A 1.44 MB floppy could hold about 100 copies.

find me