Independent Product Lab · built on nights and weekends · entirely separate from WKAR
I build the product around the problem.
On nights and weekends, I build focused public-record products: a dedicated front door, source model, visual language, live maps, dashboards, explainers, alerts and the workflow that keeps the work useful after launch.
The goal is not to replace journalists. It is to remove repetitive work, surface stronger leads and give reporters more time for verification, context and original reporting. Everything here was built outside my role at WKAR; nothing on this page is a WKAR or MSU product.

Live
Working public Michigan tracker
One spine
Map, dashboard, meetings and explainers
Source-linked
Every public claim keeps its receipt
Human gate
AI assists; a journalist decides
Prototype 01 · Michigan Data Center Tracker
One map for projects, power, water, policy and public decisions.
I built a source-first Michigan tracker that connects data-center proposals to the systems around them: local pauses and meetings, power generation and transmission, policy and geography. Every plotted record retains its public source and verification context.
The live build tracks 20 projects and puts the record, map, meetings, stories and dashboard into one public product. The map layers project status, local pauses, infrastructure, policy and county activity so journalists and residents can see both a proposal and the system around it.
Independent working prototype · built outside WKAR

Map design rule
A point without a source is decoration, not journalism.
Blank load stays “undisclosed,” reported and confirmed records remain visibly different, and every layer retains its underlying public source.
Rapid issue products
A hot topic deserves a purpose-built front door.
I love building focused “pop-up” websites around fast-moving public issues. The point is not a disposable microsite. It is a scoped, timely product with its own data model, visual language, source rules, live map, dashboards, explainers and alerts—built quickly enough to matter and rigorously enough to trust.
This tracker moves from breaking updates to records, maps, public meetings, trend diagrams, election accountability and a practical FOIA guide. Every view comes from the same underlying reporting system.










Confidential build · Private evidence-first news desk · Text only
Clean the data. Preserve the evidence. Let a human decide.
I built a private monitoring desk that watches public records on a schedule, cleans and connects messy filings, detects meaningful change and preserves the original receipt for every claim. It separates collection, analysis, editorial approval and publication; drafting can be assisted, but nothing becomes a publishable story without named human review. The product, market, sources and thresholds are confidential, so this work is described here without identifying screenshots or graphics.
01 · Collect
Scheduled source collectors retain raw records, receipts and separate freshness clocks.
02 · Clean + link
Normalize fields, deduplicate stable IDs, geocode defensible records and join exact parcel/entity evidence.
03 · Nominate
Deterministic detectors create reason-coded candidates and sealed evidence packets, not conclusions.
04 · Decide
A journalist checks significance, claims, unknowns and context. No narrative auto-publishes.
The integration layer
A product only counts when the parts work together.
Supabase
Postgres, row-level security, scheduled functions, migrations, exact-match views and a bounded public mirror.
DigitalOcean
Hosted collectors, systemd schedules, APIs, source-health checks, durable data and recovery procedures.
GitHub
Private repositories, versioned architecture, automated tests, browser checks, deploy gates and monitoring.
Mailchimp
Consent-aware subscriber workflows and human-approved newsletter artifacts, separated from the research system.
Browser + Mac automation
Resilient source collection with retries, checkpoint state, login-aware recovery and explicit stop conditions.
Public-source APIs
Permits, property, meetings, environmental, infrastructure and official geographic layers with provenance intact.
AI-assisted · Editor-led
Let the tools accelerate the work. Keep the judgment human.
I use Claude, Codex, ChatGPT, Grok and Gemini as scoped, auditable collaborators while I build, test and challenge these products. They can speed research, implementation and review; sources, standards and editorial judgment stay human.
A stronger next review
Every correction should make the next review stronger.
Reviewed outcomes become test cases. The system can flag a possible improvement and test it against the evidence; a human decides whether the change belongs in the workflow. That is how the desk learns without surrendering editorial control.
The system should make the journalist more powerful, not make the journalist disappear.
