Integrations Host App
A dashboard of four live third-party API integrations — National Weather Service alerts, NYC Campaign Finance Board contribution filings, and NYT Top Stories and Bestsellers — each fetched, normalized, and stored on its own hourly, daily, or weekly schedule. It doubles as the real-world reporter for the Integration Health Dashboard: every scheduled refresh reports its own success or failure into IHD through the @theof/ihd-sdk package, the same way a customer application reports into Sentry or Datadog. Built with React, Vite, TypeScript and Tailwind on the frontend and Node and Express on the backend, with SQLite storage, an in-process node-cron scheduler that keeps the writer and reader on the same database instance, and GitHub OAuth admin auth gating manual refreshes and a raw pre-normalization payload viewer. The NYC campaign finance adapter streams the Campaign Finance Board's ~50 MB bulk CSVs rather than buffering them, discovers election cycles from the data library at runtime, and uses ETag/Last-Modified signatures to skip unchanged downloads — all necessary to fit inside a 256 MB Fly.io VM. Deployed on Fly.io. Github: https://github.com/theoferguson/integrations-host-app
Visit project