An AI-powered application that generates interactive educational slide presentations using Next.js, TypeScript, AWS S3, and OpenAI.
- AI-Powered Content Generation: Uses OpenAI GPT-4o to create educational content
- Dynamic Slide Creation: Generates slides based on topic complexity (2-8 slides)
- AI Image Generation: Creates consistent, professional illustrations using GPT Image 1
- Interactive Presentation: PowerPoint-like interface with navigation controls
- AWS S3 Storage: Stores presentations with metadata for future access
- Responsive Design: Works on desktop and mobile devices
- Frontend: Next.js 15, React 19, TypeScript, Tailwind CSS
- AI Services: OpenAI GPT-4o (text), GPT Image 1 (images)
- Cloud Storage: AWS S3
- Styling: Tailwind CSS
-
Clone the repository
-
Install dependencies:
npm install
-
Set up environment variables in
.env.local:OPENAI_API_KEY=your_openai_api_key AWS_ACCESS_KEY_ID=your_aws_access_key AWS_SECRET_ACCESS_KEY=your_aws_secret_key AWS_REGION=your_aws_region AWS_S3_BUCKET=your_s3_bucket_name -
Run the development server:
npm run dev
-
Open http://localhost:3000 in your browser
- User Input: Enter a topic or prompt
- Content Generation: AI generates structured educational content
- Image Creation: AI creates consistent illustrations for each slide
- Storage: Presentation is saved to AWS S3 with metadata
- Interactive Display: View slides with navigation controls
src/
├── app/
│ ├── api/
│ │ └── generate-slides/ # API endpoint for slide generation
│ ├── page.tsx # Main application page
│ └── layout.tsx # App layout
├── utils/
│ └── s3.ts # AWS S3 utilities
- Dynamic Slide Count: Number of slides adapts to topic complexity
- Consistent Visual Style: All images use the same professional design
- Interactive Navigation: Previous/next buttons, slide dots, overview
- Metadata Storage: Saves presentation ID, prompt, creation time
- S3 Integration: Secure cloud storage with direct access links
To learn more about Next.js, take a look at the following resources:
- Next.js Documentation - learn about Next.js features and API.
- Learn Next.js - an interactive Next.js tutorial.
You can check out the Next.js GitHub repository - your feedback and contributions are welcome!
The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.
Check out our Next.js deployment documentation for more details.