Available · Denver area

I'm Ian, a developer in the Denver area.

25 years of systems engineering and full-stack work — websites, mobile apps, and IT consulting for projects worth thinking about. I take on a small number of selective engagements at a time, run from Aurora, Colorado.

What I do

Three things, taken seriously.

Each one informs the others. The web work draws on the systems work; the systems work was, for a long time, the day job.

Web Development

Nuxt / Vue / TypeScript apps with clean APIs, sensible auth, and Tailwind UI you can live with for years.

Mobile Applications

PWAs and mobile-first experiences tuned for the field — offline behavior, sync, and real-world data.

IT Consulting

Datacenter, networking, monitoring, and DevOps strategy. 25+ years of enterprise systems work.

Owned projects

Free and open, shipped by hand.

Two FOSS projects I own, build, and run. Both are real software with real users — not portfolio props.

Realtime water gauge intelligence

h2oflows.app

A live river-flow and reach intelligence platform for paddlers and water managers. Built on Nuxt 4, FastAPI, MapLibre, Supabase, and a custom DWR/USGS ingest layer.

ZFS-backed Linux backup tool

fsbackup.org

A pull-based Linux backup system using ZFS snapshots, rsync over SSH, age-encrypted S3 offsite, and a FastAPI + HTMX UI. Free and open source.

How it goes

A short, honest process.

No hourly rates. No retainer pressure. Work is billed against mental space: roughly the fraction of attention a project will require from me over a given month. Simple, transparent, and self-limiting.

  1. 01

    Initial Consultation

    A short call or written exchange to understand the problem and decide together whether it's a fit.

  2. 02

    Project Proposal

    A scoped proposal: outcomes, approach, mental-space estimate, and what success looks like.

  3. 03

    Build

    Steady, low-noise development. Tight feedback loops. No surprises.

  4. 04

    Delivery

    Handoff, documentation, and an honest answer on what to do next.

I don't take on every project. Available development time is limited and I'm selective — both to do good work and to keep my own life in good order. Reach out and let's see if it's a fit.

Get in touch

If your project is interesting, let's talk.

The quickest way to reach me is by email. If you'd rather support open-source work, my Sponsors and Buy Me a Coffee links are below.