Ihza MahendraResume
Back to ML engineering & infrastructure
ML engineering & infrastructure

Operations console

Single ops console that drills from cohort health all the way down to one user's last conversation turn, reading from every layer the platform has built.

What it is

An operations console that does two things at once: it shows cohort-level health (signups, active learners, completion curves, at-risk segments) and lets ops drill into any single user to render their portfolio, their journey map, their last conversation, the verdict on their last submission, and how the platform is currently reading them. It is the only console ops actually needs open during a shift.

What it's for

Ops should not be tab-switching between ten different reports to triangulate a single user. The same console needs to show the cohort, surface the at-risk users, and then let one click pull up everything the platform knows about a specific learner: the rubric they bombed, the conversation that revealed why, the journey entry that named the pattern. Reading everything from one source keeps that drill-down coherent instead of stitched across screens.

How it was built

A React 18 plus Vite plus TypeScript app, styled with Tailwind and shadcn/ui, charts through Recharts, data fetched from a thin API that pre-aggregates the heavy queries backend-side so the page never blocks waiting on Postgres. Each panel reads its own pre-aggregated endpoint, the per-user deep view fires fifteen parallel GETs and renders KPI cards, daily trends, stage breakdowns, issue trees, and several distribution panels in one view. Cross-links between panels keep navigation one click deep (a flagged issue in a distribution panel jumps straight to the specific user, the specific submission, and the specific run that produced it).

My role

Major contributor. Owned the per-user deep view, the portfolio viewer, several aggregate panels, and the data layer that pre-aggregates the heavy queries server-side so the page does not block on them.

Built with
React 18ViteTypeScriptTailwind CSSshadcn/uiRechartsSupabase JS

Want the full technical depth, the tradeoffs, what broke, what I'd do differently? Ask the agent about this project.