Skip to content

Free AI-powered IELTS Writing feedback app with instant band scoring, progress tracking, and PDF reports. Built with Flask + OpenAI for accessible education worldwide.

License

Notifications You must be signed in to change notification settings

Anfal-AR/ielts-writing-app

Repository files navigation

IELTS Writing Practice & Feedback Hub

A professional, AI-powered web application that provides instant feedback on IELTS Writing Task 1 and Task 2. Built by SparkSkyTech to help learners worldwide improve their writing skills through realistic band scoring, detailed analysis, and actionable improvement tips.

πŸš€ Live Demo

Production URL: https://ielts-writing-app.onrender.com

Note: App may take 30-60 seconds to load initially due to Render's free tier cold start.

πŸ“Έ Screenshots

Add screenshots of your app interface here to showcase the UI

✨ Key Features

🎯 Core Functionality

  • Realistic Band Scoring: AI assessment from 4.0–9.0 based on official IELTS criteria
  • Comprehensive Analysis: Detailed feedback on Task Response, Coherence & Cohesion, Lexical Resource, and Grammatical Range & Accuracy
  • Model Answers: Full high-scoring sample responses for each prompt
  • Progress Tracking: Session-based tracking of attempts, scores, and improvement trends
  • PDF Export: Professional downloadable reports with feedback and statistics

🎨 User Experience

  • Smart Prompt Selection: 14+ curated IELTS Writing Task 2 prompts from recent exams
  • Real-time Word Counter: Live validation for minimum word requirements (150/250 words)
  • Dark/Light Mode: Toggle between themes with persistent preferences
  • Responsive Design: Optimized for desktop, tablet, and mobile devices
  • Auto-save Progress: Session-based progress tracking without registration

πŸ“š Learning Resources

  • Integrated Video Tutorials: Embedded YouTube lessons for writing improvement
  • Comprehensive Resource Hub: Organized links to official IELTS materials
  • External Expert Resources: Curated connections to British Council, IDP, Cambridge English
  • Social Learning: Links to IELTS community groups and forums

πŸ›  Technology Stack

Component Technology
Backend Flask 3.0.0 (Python)
AI Engine OpenAI GPT-3.5-turbo API
Frontend HTML5, CSS3, JavaScript ES6
PDF Generation WeasyPrint
Deployment Render.com
Version Control Git/GitHub
Environment python-dotenv

🎯 Target Audience

  • IELTS Candidates: Preparing for Academic or General Training modules
  • Self-Study Learners: Seeking instant, detailed writing feedback
  • Educators: Teachers and tutors using AI-assisted assessment tools
  • Institutions: Schools integrating digital writing practice tools

πŸ“Š What You Get

Each submission provides:

  • βœ… Official Band Score based on IELTS rubric
  • βœ… Detailed Strengths analysis
  • βœ… Areas for Improvement with specific examples
  • βœ… Actionable Tips for score enhancement
  • βœ… Complete Model Answer (Band 8+ quality)
  • βœ… Downloadable PDF Report with progress statistics
  • βœ… Resource Recommendations for continued learning

🚦 Getting Started

For Users

  1. Visit the App: https://ielts-writing-app.onrender.com
  2. Select Task Details: Choose Academic/General and Task 1/2
  3. Choose or Enter Prompt: Use provided prompts or paste your own
  4. Write Your Response: Minimum 150 words (Task 1) or 250 words (Task 2)
  5. Get Instant Feedback: AI analysis with band score and improvement tips
  6. Download PDF: Save your report for future reference
  7. Track Progress: View your improvement over time

For Developers

Prerequisites

  • Python 3.11+
  • OpenAI API key
  • Git

Installation

  1. Clone the repository:

    git clone https://github.com/Anfal-AR/ielts-writing-app.git
    cd ielts-writing-app
  2. Create virtual environment:

    python -m venv venv
    source venv/bin/activate  # On Windows: venv\Scripts\activate
  3. Install dependencies:

    pip install -r requirements.txt
  4. Set up environment variables:

    cp .env.example .env
    # Edit .env and add your OpenAI API key
  5. Run the application:

    python app.py
  6. Open browser: Navigate to http://localhost:5000

Environment Variables

Create a .env file with:

OPENAI_API_KEY=your_openai_api_key_here
FLASK_ENV=development
FLASK_DEBUG=True

πŸ“ Project Structure

ielts-writing-app/
β”œβ”€β”€ app.py                    # Main Flask application
β”œβ”€β”€ requirements.txt          # Python dependencies
β”œβ”€β”€ runtime.txt              # Python version for deployment
β”œβ”€β”€ .env.example             # Environment variables template
β”œβ”€β”€ .gitignore               # Git ignore rules
β”œβ”€β”€ README.md                # Project documentation
β”œβ”€β”€ LICENSE                  # MIT License
β”œβ”€β”€ prompts.json             # IELTS writing prompts data
β”œβ”€β”€ submissions.csv          # User submissions log
β”œβ”€β”€ templates/               # HTML templates
β”‚   β”œβ”€β”€ index.html          # Main application interface
β”‚   └── error.html          # Error page template
β”œβ”€β”€ static/                  # Static assets
β”‚   β”œβ”€β”€ css/
β”‚   β”‚   └── styles.css      # Application styles
β”‚   β”œβ”€β”€ images/
β”‚   β”‚   └── SparkSkyTech.png # Logo
β”‚   └── js/
β”‚       └── main.js         # JavaScript functionality
└── docs/                    # Documentation files
    └── User_Guide.md        # User guide

πŸ”§ Configuration

OpenAI API Setup

  1. Sign up at OpenAI Platform
  2. Generate an API key
  3. Add to environment variables or Render dashboard

Deployment on Render

  1. Connect your GitHub repository
  2. Set build command: pip install -r requirements.txt
  3. Set start command: gunicorn app:app
  4. Add environment variable: OPENAI_API_KEY

πŸ“ˆ Usage Analytics

The app tracks (anonymously):

  • Number of submissions
  • Task type distribution
  • Average processing time
  • User session duration

🀝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Development Setup

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature-name
  3. Make your changes
  4. Test thoroughly
  5. Submit a pull request

Reporting Issues

  • Use GitHub Issues for bug reports
  • Include error messages and steps to reproduce
  • Specify browser and device information

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

🌟 Acknowledgments

  • OpenAI: For providing the GPT-3.5-turbo API
  • British Council & IDP: For IELTS assessment criteria
  • IELTS Community: For feedback and testing
  • Open Source Libraries: Flask, WeasyPrint, and other dependencies

πŸ”— Related Projects

πŸ“ž Support & Contact

πŸš€ Roadmap

  • User accounts and authentication
  • Extended progress analytics
  • Mobile app version
  • Multi-language interface support
  • Batch processing for educators
  • API endpoint for third-party integrations

Made with ❀️ by SparkSkyTech for the global IELTS learning community.

This project is completely free and open-source, supporting accessible education worldwide.

About

Free AI-powered IELTS Writing feedback app with instant band scoring, progress tracking, and PDF reports. Built with Flask + OpenAI for accessible education worldwide.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages