AI-Native Team Diagnostic
A deployed, full-stack self-assessment that helps teams gauge their AI-native maturity, with shared persistence and a team view, shipped end-to-end across three released versions.
The business problem
"Are we AI-native?" is a question every team is asking and few can answer honestly. Without a shared frame, the conversation stays anecdotal: one person's optimism against another's skepticism. Teams need a quick, structured way to locate themselves on a maturity curve and agree on where to focus.
This tool gives them that: a self-scoring assessment with a shared team view, so the result is a conversation-starter, not just an individual score.
The key decision
Shared team state usually implies a full backend. I split a static front-end from a small managed API instead (near-zero cost, still supporting shared persistence), and iterated in the open across three releases rather than polishing v1 in private. Ship, measure, improve beat scope-and-perfect.
Architecture
- Static front end on GitHub Pages: fast, cache-friendly, and free to serve.
- Node.js / Express API hosted on Render for scoring and persistence.
- Postgres (Neon) for shared, durable team results.
- CORS-secured boundary between the static origin and the API.
Product lifecycle ownership
This build is the clearest demonstration of end-to-end ownership in the portfolio: from concept, through a real deployment on public infrastructure, to three iterated releases responding to how the tool actually got used. It's product management practiced, not just described: scoping, shipping, measuring, and improving.
Lessons learned
Splitting a static front end from a small managed API kept the cost near zero while still supporting shared state, a pattern that scales down gracefully. And iterating in the open across three versions beat trying to perfect v1: real usage surfaced the changes that mattered.