A full-stack prototype that transforms study materials into engaging 60-second educational videos. Built with Flutter frontend and Flask backend, featuring user authentication, video upload/processing, YouTube Shorts-style vertical scrolling, and freemium subscription model.
StudyShots addresses the modern student's preference for short-form content by converting traditional study materials into bite-sized, engaging educational videos. The platform mimics the addictive scrolling experience of social media while delivering educational value.
- User Authentication: JWT-based login/registration system
- Video Creation: Upload videos, images, and documents for processing
- Vertical Scrolling: YouTube Shorts-style video feed interface
- Freemium Model: 20 free videos/month, premium unlimited access
- Cross-Platform: Flutter app supporting Android and Windows
- Real-time Processing: Video streaming with HTTP Range support
- Flutter - Cross-platform mobile/desktop development
- Provider - State management
- Video Player - Cross-platform video playback
- File Picker - Document and media upload
- Shared Preferences - Local data persistence
- Flask - Python web framework
- JWT - Authentication and authorization
- CORS - Cross-origin resource sharing
- Pillow - Image processing and thumbnail generation
- JSON - Simple file-based database
video_generation_prot/
├── backend/
│ ├── app.py # Flask backend server
│ ├── requirements.txt # Python dependencies
│ ├── assets/ # Sample video files
│ ├── thumbnails/ # Generated thumbnails
│ └── uploads/ # User uploaded files
├── studyshots_app/
│ ├── lib/
│ │ ├── main.dart # App entry point
│ │ ├── theme/ # UI theming
│ │ ├── services/ # API services
│ │ ├── providers/ # State management
│ │ └── screens/ # UI screens
│ ├── assets/ # App assets
│ └── pubspec.yaml # Flutter dependencies
└── README.md
- Python 3.8+
- Flutter SDK
- Git
cd backend
python -m venv .venv
.venv\Scripts\activate # Windows
pip install -r requirements.txt
python app.pycd studyshots_app
flutter pub get
flutter run- Dark Theme: Black background with orange accent (#F68F1F)
- Modern Interface: Clean, professional appearance
- Responsive Design: Adapts to different screen sizes
- Smooth Animations: Flutter's animation system
- Authentication: Login/Registration with JWT
- Home Dashboard: Main navigation and user stats
- Video Creation: Upload interface with multiple file types
- Video Library: Vertical scrolling feed (YouTube Shorts style)
- Subscription: Freemium model implementation
- Multipart File Uploads: Support for video, image, and document files
- Video Streaming: HTTP Range support for efficient video delivery
- Thumbnail Generation: Automatic thumbnail creation from videos
- Cross-Platform Compatibility: Android and Windows support
- State Management: Provider pattern for app state
- Error Handling: Comprehensive error handling and user feedback
POST /api/auth/register- User registrationPOST /api/auth/login- User authenticationGET /api/user/me- User profilePOST /api/videos/create- Video creationGET /api/videos- Video listingGET /api/videos/stream/<id>- Video streamingGET /api/videos/thumbnail/<id>- Thumbnail serving
- Upload video file (optional - uses sample videos)
- Upload thumbnail image (optional - auto-generated)
- Upload supporting documents (PDF, DOCX, TXT, MD)
- Add descriptive text
- Generate educational video
- Vertical scrolling interface
- Auto-play with user interaction
- Smooth transitions between videos
- Thumbnail previews
- Share functionality
This project was developed as part of an educational technology course, demonstrating:
- Modern full-stack development practices
- Cross-platform mobile/desktop development
- API design and implementation
- User experience design for educational applications
- Integration of multimedia content
- AI-powered video generation
- Advanced content recommendation
- Social features and sharing
- Analytics and progress tracking
- Multi-language support
- Advanced video editing tools
This project is developed for educational purposes as part of a university course.
Developed as a course project demonstrating modern software development practices in educational technology.
StudyShots - Turning procrastination into productivity through bite-sized learning.