Next.js UI AdonisJS API MongoDB Redis Model router OpenAI · Anthropic

Technical Product Lead & Senior Frontend Engineer · 2023 – Sep 2026

HumanCore Advisor

0→1 product core for executive coaching: real-time shared context, structured LLM UI, and the API path when a feature crossed the client.

Next.js · React · TypeScript · AdonisJS · MongoDB · Redis · OpenAI · Anthropic

Live product: humancore.ai

Context

Human coaches cannot sit with every manager. HumanCore needed a product that could run a coaching session with shared context, then turn model output into something a manager could act on — not a chat transcript.

My ownership

Constraints

Architecture

Browser  — Next.js App Router, React, TypeScript
        ↳ real-time shared session context
        ↳ structured coaching UI (Zod-validated model output)
AdonisJS — API when the feature leaves the client
        ↳ MongoDB persistence
        ↳ Redis for session / cache
Model router — task complexity, latency and cost
               lower-cost models for routine workloads
               higher-capability models for complex flows
               OpenAI | Anthropic

Technical decisions

AI architecture

Reliability

Decision

The UI is a pnpm and Turborepo monorepo: a Next.js App Router app, an AdonisJS API, and a shared @humancore/api client. Routes are split into authenticated and public groups. Server actions follow the API. Shared UI is grouped into data-display, data-entry, feedback, and layout, with Storybook, Radix, and Conform plus Zod on forms.

Tradeoffs

I did not train or host a private model. The leverage was product architecture, routing, and UI. Planning and review stayed internal tools, so they could fail without a customer watching.

A failure

A database change broke the API test suite. The suite was running again in about 30 minutes after an AI-assisted pass. Weeks is the team's estimate of doing that same repair by hand, not a timed baseline.

Impact

The product core and the UI system are live at humancore.ai. Time to approval — from pull request open to approval — was about 60% shorter than when every change waited for a fully manual first review. The team compared those two workflows. The figure is not a measure of whether each comment was correct.

What I learned