IELTS Writing Buddy is an AI-powered practice app for IELTS Writing Task 1 and Task 2. It helps learners draft sample responses, improve their own essays, estimate band performance, and turn feedback into clearer, more natural IELTS-style writing.
The app is built with Next.js, React, TypeScript, and Tailwind CSS. It supports multiple AI providers, including Google Gemini and ChatGPT via the OpenAI API, so users can choose the model that best fits their writing practice.
https://ielts-writing-assistant.vercel.app/
- Generate IELTS-style sample answers for Writing Task 1 and Task 2.
- Improve existing answers with targeted feedback, corrections, and rewrite suggestions.
- Estimate the band score for submitted writing.
- Support Task 1 image prompts for charts, maps, processes, and diagrams.
- Stream AI responses so feedback appears while it is being generated.
- Switch between supported AI providers from the app settings.
- Use Gemini models with a Gemini API key.
- Use ChatGPT models with an OpenAI API key.
- Choose where a browser-saved API key is stored:
- Session storage: cleared when the tab is closed.
- Local storage: kept on the device until the user clears it.
- Next.js
- React
- TypeScript
- Tailwind CSS
- Google Gemini API via
@google/genai - ChatGPT via the OpenAI API and
openaiSDK - React Markdown with GitHub-flavored Markdown support
- Node.js 20 or newer
- npm
- A Gemini API key or an OpenAI API key
npm installnpm run devOpen http://localhost:3000, then use the AI provider settings to choose Gemini or ChatGPT, select a model, and add the matching API key.
IELTS Writing Buddy currently supports:
- Gemini: powered by Google Gemini models through the official
@google/genaiSDK. - ChatGPT: powered by OpenAI models through the official
openaiSDK.
Each provider has its own model list and API key. Gemini is selected by default, but users can switch providers from the settings menu at any time.
The app checks the selected provider and model from browser storage. If no API key is saved for the selected provider, the Write and Improve pages show a warning banner with an Add API key button.
API keys are stored only in the user's browser. Users can save a key for the current tab only or remember it on the device:
- This tab only: stored in session storage and cleared when the tab is closed.
- Remember on this device: stored in local storage until the user clears it.
Requests are sent directly from the browser to the selected AI provider. A Gemini key is used only for Gemini requests, and an OpenAI key is used only for ChatGPT requests.
MIT