Search this site
Embedded Files
  • Home
  • About
  • Portfolio - Robbie Schwartz
    • Enterprise Data Hub
    • Western Gazette - Editorial Photography
    • RBC Community Innovation Bootcamp — BBBS Strategy Sprint
    • Made Good Sustainable Packaging - Case Competition
    • 10.7 | The Silence After - Photographic Memorial Book
    • London Bike Share - Startup Strategy & Financial Modeling
    • The Hub - Event Marketing & Creative Production
    • Vistas Del - Commercial Photography & Creative Studio
    • Zeta Beta Tau - Events & Sponsorships
 
  • Home
  • About
  • Portfolio - Robbie Schwartz
    • Enterprise Data Hub
    • Western Gazette - Editorial Photography
    • RBC Community Innovation Bootcamp — BBBS Strategy Sprint
    • Made Good Sustainable Packaging - Case Competition
    • 10.7 | The Silence After - Photographic Memorial Book
    • London Bike Share - Startup Strategy & Financial Modeling
    • The Hub - Event Marketing & Creative Production
    • Vistas Del - Commercial Photography & Creative Studio
    • Zeta Beta Tau - Events & Sponsorships
  • More
    • Home
    • About
    • Portfolio - Robbie Schwartz
      • Enterprise Data Hub
      • Western Gazette - Editorial Photography
      • RBC Community Innovation Bootcamp — BBBS Strategy Sprint
      • Made Good Sustainable Packaging - Case Competition
      • 10.7 | The Silence After - Photographic Memorial Book
      • London Bike Share - Startup Strategy & Financial Modeling
      • The Hub - Event Marketing & Creative Production
      • Vistas Del - Commercial Photography & Creative Studio
      • Zeta Beta Tau - Events & Sponsorships

Enterprise Data Hub

Click here to enter the demo as Administrator

Overview: What's outstanding, what's overdue, and who owes it - a whole reporting cycle in one page
Create request, owner dropdown open: The owner list sorts itself: people deisgned for this kind of data, then everyone else.
Org chart, contact card open: Who covers what, and one click to raise a request already assigned to them.
Report page (CDP 2026): A CDP submission assembling itself from requests raised months apart, grouped by section.
Audit trail: Every write is hash-chained to the one before it. Alter a row and verification names it.
Request detail with evidence: A reported figure, the method behind it, and the invoice it reconciles to.

The problem:

During an internship at a GDI Ainsworth, a facilities services company, I was asked to evaluate a replacement ESG reporting platform. That evaluation taught me more about where our process actually broke than the vendor demos did. Collecting the data was the bottleneck, not reporting it - the numbers we needed sat with site managers, fleet, HR and procurement, and assembling them took weeks of emails, reminders, and spreadsheets. Around half of companies still run this kind of collection on spreadsheets, and it fails the same way everywhere: nobody is sure who to ask, nothing follows up on a late answer, and there's no record of where a number came from.

What I did:

I made efficient collection a hard requirement in the RFP I drafted, then built a working system to test whether it could be met: 22 tables, 63 row-level security policies, and around 13,000 lines of application code. The idea I most wanted to test was designation-based routing: each account records what data that person covers and where, so raising a request suggests its own owner instead of relying on the requester to remember who handles fuel in, say, Toronto.

What happened: 

It didn't ship, and not because it didn't work. I had built the site outside the company's sanctioned platform stack so I could move while the requirements were still unknown - right for finding out whether the idea held, wrong for anything that had to run in production. A system holding staff data needs single sign-on, a security review, a named owner and a place in the supported estate, and under company policy a self-hosted app built outside the approved toolchain was never clearing that bar. I tried to get it through; it didn't.

Why it's here:

I identified a real operational problem, built a system against it, and evaluated whether it solved the thing it was built to solve. The result clarified the recommendation: the real need was an accountable collection process, not another reporting tool.

Stack: 

Next.js 16, React 19, TypeScript, Supabase (Postgres, Auth, Storage, RLS), ExcelJS, Playwright, Vercel. Built with Claude Code as a pair-programmer.

Every design decision is one I can walk through and defend.

GitHub Repository: 

https://github.com/robbiecharlesschwartz-sudo/Enterprise-Data-Hub-DEMO 

Contact Information:

[646-599-5378]

[robbiecschwartz@icloud.com]

Google Sites
Report abuse
Page details
Page updated
Google Sites
Report abuse