All work

Freelance Fullstack Engineer · Jul – Aug 2026

Internal Operations Dashboard

Replacing manual spreadsheet updates with a secure, fast operations product for New Trend Loss Adjusters.

Status information lived in operational spreadsheets and had to be shared manually. That created a slow, uneven experience for the people who needed a clear view of the work.

I was engaged to build a private internal product that made the information easy to access without exposing the underlying operational complexity. The application and its data are confidential, so this case study intentionally stays at the systems level.

  • • Built and deployed the complete Next.js 16 / React 19 internal dashboard and administrative console.
  • • Normalized unreliable Google Sheets and Apps Script source data into a validated, deduplicated, rebuildable Turso/libSQL read model.
  • • Implemented Better Auth, tenant-aware access, magic-link provisioning, and role-specific admin controls.
  • • Established the production path: GitHub Actions verification, Drizzle migrations, checksummed standalone releases, DigitalOcean systemd, Nginx, and Cloudflare.
  • • Added privacy-redacted analytics and error tracking so the product could be operated responsibly after hand-off.

The source system is authoritative for operational data, while the application owns only its own users, sessions, provisioning, preferences, and operational state. I made that ownership boundary explicit instead of creating a second, conflicting data source.

A scheduled import samples five source exports, normalizes their quirks, validates coverage, and replaces the cache in one transaction. A failed import leaves the last known-good cache available. Authorization is enforced before every protected page, route, action, and service touches a provider or database.

I used an agent-ready, issue-driven delivery workflow: turn ambiguous work into a narrow vertical slice with acceptance criteria, give agents durable architecture and domain context, then verify the result with focused tests, review, and production gates. That is how I move quickly without allowing generated code to decide security, data ownership, or release safety.

The manual status-sharing process became a smooth, automated product experience backed by normalized data and a production deployment pipeline. The result is intentionally private, but it demonstrates full ownership from an unstable operational input to a dependable system.

Next.js 16 · React 19 · TypeScript · TanStack Query · Better Auth · Turso/libSQL · Drizzle · Google Apps Script · GitHub Actions · DigitalOcean · systemd · Nginx · Cloudflare · PostHog