Skip to content
Back to Projects
Hengo — AI Companion for Daily Growth

Full-Stack Application · Personal Project

Hengo — AI Companion for Daily Growth

Solo Developer 2024 — Present 1 developer
Live
  • Next.js 16
  • React 19
  • TypeScript
  • Supabase
  • Vercel AI SDK
  • OpenAI

Project Summary

Problem

Generic Korean apps rarely cover workplace communication, technical language, or K-Specialist interview pressure. Foreign professionals need realistic practice, immediate feedback, and one daily learning loop.

Approach

Hengo combines workplace Korean, AI conversation, interview preparation, spaced repetition, and goal tracking in one focused daily workflow. Today’s Mission prioritizes the practice that is due.

Screenshots

Hengo — AI Companion for Daily Growth — screenshot

What I Built

  • Today’s Mission combines due vocabulary, phrases, corrections, and scenario practice
  • AI Coach supports conversation, message analysis, phrasing, and structured feedback
  • K-Specialist interview preparation includes practice, scoring, and retry flows
  • Goals, habits, progress, and learning history share one mobile-friendly workspace

Implementation

Next.js 16 and React 19 form a client-side SPA over Supabase Auth and Postgres with RLS. Thin Next.js AI routes verify the Supabase JWT, then use the Vercel AI SDK and OpenAI for structured or streamed feedback.

architecture

Next.js 16 SPA
Supabase Auth + RLS
Supabase Postgres
Next.js AI routes
OpenAI via Vercel AI SDK
Most data flows directly from the browser to Supabase under Row Level Security. Only AI work reaches server routes, where the caller’s Supabase JWT is verified before any model request or persisted result.

Backend Evidence

Key endpoints

  • POST/api/ai/chat/stream

    Stream an authenticated AI coaching conversation

  • POST/api/ai/analyzer

    Analyze workplace Korean tone and meaning

  • POST/api/ai/vocab/generate

    Generate a structured vocabulary deck

  • POST/api/ai/goals/coach

    Stream goal coaching with concrete next steps

Engineering Decisions

  1. Challenge

    Combining learning, interview, and productivity tools without creating a crowded interface

    Decision

    Organized features into focused workspaces with Today’s Mission as the daily entry point

  2. Challenge

    Keeping AI requests secure while most application data is accessed directly from the browser

    Decision

    Kept data behind Supabase RLS and routed only AI calls through JWT-verified Next.js handlers

Takeaways

  • A large product becomes easier to use when navigation follows user intent instead of feature count
  • RLS-backed direct data access and thin AI routes keep the architecture understandable
Next Project

Money Flow — Personal Finance PWA