matt-taylor.tech
← Back to experience

Founder venture

Founder & Owner · After Hours Data Systems

2014 – Present (LLC formed 2018) · Remote

afterhoursds.com ↗

A small single-owner LLC I founded in 2018 to publish iOS and Android applications. The story starts four years earlier: in 2014 I built the first Android version of an EPA Section 608 HVAC certification study app in App Inventor, along with around 20 other experimental apps. Only 608 Practice was earning money, so I unpublished everything else. In 2018 I rebuilt both the Android version and the first iOS version in Thunkable, formed the LLC, and revenue inflected from there. The codebase is on Flutter now and the product operates as passive income with minimal upkeep.

Three platform generations

2014–2018: App Inventor era (Android only)

First Android version of EPA 608 Practice built in MIT's App Inventor (visual block-based programming). Built around 20 experimental Android apps in this period. Only 608 Practice was earning anything (~$500–$800/month). Unpublished every other app to concentrate effort on the product with real market fit.

2018: The inflection (Thunkable rebuild)

Rebuilt the Android version end to end and shipped the first iOS version in parallel using Thunkable (visual cross-platform app builder). Formed the LLC. Revenue grew sharply from this point and continued accumulating; the dual-platform rebuild is what unlocked the inflection.

Current: Flutter and maintenance mode

Migrated the codebase to Flutter (Google's cross-platform UI toolkit, Dart language) for modern cross-platform development on a single codebase. The product runs as passive income today with low ongoing effort: marketing is largely organic via App Store and Play Store search, and updates are driven by platform-compatibility changes or EPA exam-content updates. Average annual workload is a few days during the winter off-season.

What the work demonstrates

  • Self-taught cross-platform mobile development across three platform generations. Each one learned from scratch, each one shipped paying products. The thread is cross-platform mobile, not loyalty to any single framework.
  • Product judgment. Recognized that only one of about 20 apps was earning, unpublished the rest, concentrated future effort on the winner. Stayed disciplined about scope.
  • Disciplined platform migration. Switched tooling twice in 11 years when each ecosystem became the wrong long-term choice. App Inventor → Thunkable → Flutter, each migration extending product life.
  • Operating a real business. LLC formation, accounting, Apple Developer Program, Google Play Console, App Store Connect, tax filings, payment processing, customer support workflow, all handled directly.
  • Durable engineering. A product that has paid out for years with minimal intervention is itself evidence of how it was built. Clear separation between content and code is the difference between "side hustle that died" and "passive income."

Companion tooling

Python tooling for source-question scraping, deduplication, and ingestion into the app's question bank. Keeps the content pipeline maintainable when EPA exam material changes.

Honest framing

I have never written native iOS in Swift or native Android in Java/Kotlin. The mobile stack has been visual / low-code (App Inventor, Thunkable) and now cross-platform Flutter / Dart. That's a fair description of the work and what it transfers to.

How it fits with full-time work

  • Passive income, maintenance mode. The product is mature; sales happen automatically through the App Store and Play Store with no support queue.
  • Annual time commitment is a few days during the winter off-season. Some years require nothing.
  • Zero overlap with employer markets, vendors, or customers in my IT career.
  • Sole owner, no team, no parallel operation. The LLC is a legal wrapper, not a parallel job.