~/lab $ ls -la projects/

Things I'm tinkering with.

A workbench of side projects in active development. Not client work. Just the stuff I build when I'm trying to learn something, scratch an itch, or solve a problem nobody's solved quite the way I want it solved.

Active 3
Status All in development
Source Private
[01] 2026

Atrium

A modern web hosting control panel. Plesk's friendly UI, but with a containerized backend that doesn't feel like 2008.

Go Templ HTMX 2 Docker
In Development

What it is

Atrium is a hosting control panel that takes the parts of Plesk people actually like (clear UI, sensible defaults, accessible to non-developers) and rebuilds the engine room with modern tooling: containerized sites, infrastructure-as-code primitives, real observability, and an API-first design throughout.

Why it exists

Existing hosting panels live in two camps: the old guard (cPanel, Plesk) feels accessible but the underlying architecture shows its age, and the modern dev tools (Coolify, CapRover, Dokku) handle containers well but assume you’re a developer. I wanted both. A panel my mom could click through, with a backend I’d actually trust to host production sites.

Why it's interesting

The hard parts are the seams: how to expose container orchestration through a UI that doesn’t terrify normal users, how to handle the long tail of “I just want to upload a WordPress site” without locking out people who want to BYO Dockerfile, and how to make it cheap enough at small scale that it can compete with $5 shared hosting.

Atrium screenshot
[02] 2025

Newsroom Nexus

A newsroom augmentation tool that aggregates from government sites, courts, social media, and more — turning the firehose into a feed.

FastAPI AI Async OpenAI
In Development

What it is

Newsroom Nexus aggregates information from the sources newsrooms actually rely on (government press releases, court filings, agency social media, scanner feeds, public meeting agendas) into a single, searchable, prioritized feed. Less “news aggregator” in the consumer sense, more research desk in your browser.

Why it exists

News teams spend an absurd amount of time monitoring sources manually. Watching a city council Twitter feed for the meeting agenda. Refreshing the sheriff’s office press release page. Checking PACER for new filings. The information is all public and structured, but the workflow is glue. Nexus is the glue.

Why it's interesting

The fun is in the source layer. Every source needs its own ingestion strategy: scraping, RSS, API, occasionally OCR for the PDFs governments still love. LLMs handle summarization and de-duplication. The tricky part is ranking — what’s actually news vs. routine boilerplate — and that’s where the system gets opinionated.

[03] 2026

TileView

A custom multi-source grid viewer for live productions. Watch many feeds at once, with sub-platforms tuned to specific use cases.

React TypeScript Docker FastAPI Python
Open Beta Soon

What it is

TileView is a grid-based multi-source viewer built for the web. It started as a tool I wanted for monitoring production feeds simultaneously. One pane of glass, however many tiles you need, configurable layouts, and a workflow that doesn’t fight you when something breaking is happening.

Sub-platforms

Each sub-platform is a focused vertical of the same core engine, tuned for specific communities. Free tier is intentionally usable: limited to a quad layout, basic features, no friction. Paid upgrades unlock all layouts. Pro adds private sources and pro-grade widgets.

  • TileView Core The base platform. General-purpose multi-source monitoring for any web-streamable feeds.
  • Stringers Tuned for freelance journalists and stringers. Watch press conferences, court hearings, scanner feeds.
  • StormChasers Live streams, radar overlays, and tornado warnings in one view. Built for the chase, the chaser, and the chair.

Why it's interesting

The technical fun is in making web-based multiview feel native. Browsers aren’t optimized for many simultaneous video streams, so layout management, source recycling, and graceful degradation under load are real engineering challenges. The freemium-to-pro ladder also keeps the entry point honest: free has to be genuinely useful, not crippled bait.

TileView screenshot
More to come

Got an interesting problem?

If something here resonates with what you're working on, or if you want to chat about anything in the lab, get in touch.