Skip to content
Andrew Gillfillan
Case study 06Independent Product Lab · Public records · Editorial systemsBuilt nights and weekends · 2026

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.

The authentic Michigan Data Center Tracker front page with a live news wire, interactive map and briefing
Michigan Data Center Tracker · authentic working prototype

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

View the live prototype →

The Michigan Data Center Tracker home page combining a live news wire, interactive map and daily briefing
The live front door · news wire, map and daily briefing
The live Michigan Data Center Tracker interactive statewide map with project, pause, infrastructure and policy layers
Live interactive map · statewide source-linked layers

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.

The NewsroomNextThe Miami stream →