← Back to workKHAS-ERDENE TSOGTSAIKHANContact
05LLM learning platform

Curio AI

Engineered structured recommendation, ingestion, and user-progress systems for an LLM-powered learning platform, including a LangGraph agent that used function calling, web retrieval, and external APIs to discover and rank current content beyond a static catalog.

  • LangGraph
  • JSON Schema
  • Web scraping
  • APIs
Curio Journey landing page for career navigation waitlist
Proof artifactProduct proof - Public landing page

Software Engineering Intern

01 / Problem

What needed to change

A static catalog of learning resources could not stay current or provide enough coverage for individualized learning journeys. The product needed an agentic retrieval layer that could extend the catalog in real time without allowing unstructured model output to corrupt user progress or recommendation state.

02 / What I built

The engineering response

REST APIs and a content ingestion pipeline supporting 1,000+ learning items, explicit progress-state models, JSON Schema-validated recommendation objects, and a LangGraph agent that orchestrated function calls, web scraping, ranking, and external REST APIs. The graph separated retrieval, normalization, scoring, and response construction so live discovery could enrich the product while preserving predictable contracts for the frontend.

03 / Impact

The signal

Supported 1,000+ learning items while extending recommendations beyond the static catalog, giving the product a path to fresher and more personalized discovery without sacrificing structured progress tracking or stable API behavior.

04 / What I learned

The durable insight

Structured outputs are the bridge between flexible agent reasoning and reliable product behavior. Agent graphs become maintainable when each node has a narrow responsibility, observable inputs and outputs, and a fallback path when live retrieval is incomplete.

Engineering depth

How I engineered it

The constraints, reliability decisions, and system boundaries behind the visible product.

  1. 01

    Built structured recommendation logic so an LLM-powered learning product could return dependable progress and content state rather than loose prose.

  2. 02

    Used LangGraph/function-calling patterns to retrieve real-time content beyond the static catalog while keeping response shape validated.

  3. 03

    Focused on the bridge between user state, ingestion, and agent output because personalization fails when any one of those layers is unreliable.

  4. 04

    Kept live retrieval modular through LangGraph nodes for search, normalization, ranking, and schema construction, making the agent workflow observable and easier to debug than one monolithic prompt chain.

System architecture
01Content ingestion
02User state
03LangGraph agent
04Recommendation output