PowerPoint generator built for CloudHacks. This project placed top 5 in Singapore.
The app turns a topic supplied by the user into a structured presentation using an LLM API, then exports the result as a downloadable .pptx file.
- Takes a topic from the user
- Scrapes and extracts the Wikipedia article text
- Sends the text to an LLM-based generation API
- Converts the generated output into a slide outline
- Builds a PowerPoint automatically with
python-pptx - Returns the finished presentation as a downloadable
.pptxfile
The app uses Flask to serve a simple web interface. When a user submits a Wikipedia link, the program fetches the page, extracts the article content, trims it to fit the model input, and sends it to an external generation API.
The model response is then parsed into a structured format containing:
- a title slide
- a contents slide
- several content slides
- a questions-to-the-class slide
- a thank-you slide
That parsed structure is passed into python-pptx, which builds the final presentation in memory before sending it back to the user as a download.
- Python
- Flask
- Flask-Session
- Requests
- BeautifulSoup
- wikipedia
- python-pptx
- Google authentication libraries
- SQLite
- HTML
- CSS
- JavaScript
The codebase includes:
- Flask route handling for presentation generation
- Wikipedia scraping and article extraction
- LLM prompt generation
- response parsing into slide components
- PowerPoint creation logic
- file download handling
Install the dependencies first:
pip install flask flask-session werkzeug requests beautifulsoup4 wikipedia python-pptx google-auth google-auth-oauthlib google-api-python-clientThen run the app:
python app.pyUpdate user-specific API data on lines 93, 94, and 133 of main.py. Open the local Flask server in your browser.
- The app is designed to turn raw Wikipedia content into a finished presentation with minimal manual editing.
- The slide format is structured so the LLM output can be parsed reliably.
Top 5 in Singapore – CloudHacks