Inspiration

Behind every IELTS score is a dream — a university admission, a work visa, or the start of a new life. More than 3.5 million people take the exam each year, yet most prepare alone using expensive tutors, static PDFs, and recycled test books.

AI tools have changed test preparation, but most still treat AI as just a utility: they generate questions, check answers, and output a score. When a learner receives a 5.5 instead of a 7.0, the system rarely explains why. It cannot point to a specific sentence and say, “The passage says occasionally, but the question says always — that’s why the answer is False.”

We set out to build something different: an AI that teaches, not just evaluates.

What it does

IELTS Agents divides the experience into two spaces: a teacher on the left, the test on the right. Four specialized agents cover the entire IELTS exam:

  • Reading — Generates passages and questions aligned to a target band score. After submission, the agent quotes exact sentences and walks learners through the reasoning behind each answer. Students can ask questions even mid-test.
  • Listening — Produces complete four-section listening exams with multi-voice audio and 40 questions. Learners are trained to recognize IELTS traps such as speaker corrections, distractors, and spelling pitfalls.
  • Speaking — Conducts live voice conversations with an AI examiner using OpenAI’s Realtime API. Supports natural turn-taking, real-time transcription, pronunciation scoring, and full band evaluation after the session.
  • Writing — Generates Task 1 prompts with rendered charts and Task 2 essay topics. Provides paragraph-by-paragraph evaluation along with rewritten examples demonstrating higher-band responses.

Each agent dynamically adapts difficulty from Band 5.0 to Band 9.0 and supports all official IELTS question types.

How we built it

We designed a custom agent architecture powered by Vercel AI SDK 6 and OpenAI. Each agent orchestrates multi-step workflows — generating content, persisting data, notifying the frontend in real time, and transitioning into coaching mode after submission.

The Speaking agent runs through a WebSocket relay that streams PCM16 audio between the browser and OpenAI’s Realtime API, enabling transcript interception and pronunciation analysis.

Tech stack: Hono + tRPC, PostgreSQL with Drizzle ORM, Redis, React 19, React Router 7, Tailwind CSS 4, shadcn/ui, Stripe billing with per-tool credits, and an Nx-based monorepo.

Challenges we ran into

  • Designing AI as a teacher rather than a chatbot — deciding when to quote evidence, when to guide reasoning, and how to adjust explanations for Band 5 learners versus Band 8 learners.
  • Building a real-time voice pipeline — managing audio encoding, WebSocket session state, and VAD tuning to prevent examiner interruptions during speech.
  • Unifying four distinct skill systems — combining text generation, audio synthesis, live conversation, and essay evaluation under a single agent architecture with shared credits and streaming workflows.

What we learned

The biggest gap in IELTS preparation is not access to more tests — it’s the moment after receiving a score, when learners need clear explanations of what went wrong. Most products stop at evaluation; a teaching-focused agent creates value precisely at that moment.

What's next for IELTS Agents

  • Pronunciation drill mode based on Speaking mispronunciation data
  • Progress dashboard with historical score tracking
  • Multiple Listening accents (British, Australian, American)
  • Collaborative Speaking practice rooms

Built With

  • better-auth
  • docker
  • drizzle-orm
  • hono
  • jotai
  • nx
  • openai
  • openai-realtime-api
  • pgvector
  • playwright
  • pnpm
  • postgresql
  • react-19
  • react-router-7
  • redis
  • sentry
  • shadcn/ui
  • stripe
  • tailwind-css-4
  • tanstack-query
  • trpc
  • typescript
  • vercel-ai-sdk
  • vite-8
  • web-audio-api
  • websocket
Share this project:

Updates