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.
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.
Add screenshots of your app interface here to showcase the UI
- 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
- 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
- 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
| 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 |
- 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
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
- Visit the App: https://ielts-writing-app.onrender.com
- Select Task Details: Choose Academic/General and Task 1/2
- Choose or Enter Prompt: Use provided prompts or paste your own
- Write Your Response: Minimum 150 words (Task 1) or 250 words (Task 2)
- Get Instant Feedback: AI analysis with band score and improvement tips
- Download PDF: Save your report for future reference
- Track Progress: View your improvement over time
- Python 3.11+
- OpenAI API key
- Git
-
Clone the repository:
git clone https://github.com/Anfal-AR/ielts-writing-app.git cd ielts-writing-app -
Create virtual environment:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install dependencies:
pip install -r requirements.txt
-
Set up environment variables:
cp .env.example .env # Edit .env and add your OpenAI API key -
Run the application:
python app.py
-
Open browser: Navigate to
http://localhost:5000
Create a .env file with:
OPENAI_API_KEY=your_openai_api_key_here
FLASK_ENV=development
FLASK_DEBUG=Trueielts-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
- Sign up at OpenAI Platform
- Generate an API key
- Add to environment variables or Render dashboard
- Connect your GitHub repository
- Set build command:
pip install -r requirements.txt - Set start command:
gunicorn app:app - Add environment variable:
OPENAI_API_KEY
The app tracks (anonymously):
- Number of submissions
- Task type distribution
- Average processing time
- User session duration
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create a feature branch:
git checkout -b feature-name - Make your changes
- Test thoroughly
- Submit a pull request
- Use GitHub Issues for bug reports
- Include error messages and steps to reproduce
- Specify browser and device information
This project is licensed under the MIT License - see the LICENSE file for details.
- 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
- IELTS Study Plan Generator: Personalized study planning tool
- SparkSkyTech Blog: IELTS tips and strategies
- YouTube Channel: Video tutorials and lessons
- Website: www.sparkskytech.com
- YouTube: @SparkSkyTech
- GitHub: @Anfal-AR
- Issues: GitHub Issues
- 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.