-
-
Page to upload assignment with progress bars.
-
Landing page.
-
About page for our application
-
Progress bar of the upload page.
-
Task page showing tasks, todos, code structure, task description, examples and concept used with examples.
-
Code editor page with all the todo comments and code along with a get hint, example, run tests and task side bar.
-
Get example section to show concepts and their examples for the selected task.
Inspiration
Many students struggle with coding assignments—not because they can't understand the problem, but because they don't know where to start. The gap between reading a spec and writing working code can feel insurmountable. We built Scaffi to bridge that gap, making programming assignments structured, interactive, and genuinely educational instead of frustrating.
What it does
Scaffi is now live at link
Scaffi transforms overwhelming programming assignments into clear, actionable steps:
Smart Parsing - Upload PDFs or paste assignment text to automatically break down complex requirements into ordered tasks Experience-Based Scaffolding - Generates starter code with TODOs tailored to skill level (5-8 for beginners, 3-5 for intermediate, 1-3 for advanced) Progressive Hints - Context-aware help that adapts based on how many times you've asked, never giving away the answer too early Live Code Execution - Run Python, JavaScript, C#, Java, C++, and more directly in the browser with instant feedback Auto-Generated Tests - Creates test cases from your completed code to validate solutions Multi-File Support - Handles complex projects with multiple files and class structures
How we built it
Backend: FastAPI + Claude AI (Sonnet 4 for code generation, Haiku for parsing) + Piston API for multi-language code execution + Resend for email notifications
Frontend: React 18 + TypeScript + Vite + Monaco Editor (VS Code in the browser) + Tailwind CSS + Zustand for state management
Infrastructure: Deployed on Render with environment-based configuration for production and development
Challenges we ran into
Prompt Engineering - Getting Claude to generate proper scaffolding (not full implementations) required extensive prompt refinement and concrete examples Template Preservation - Detecting and preserving starter code structure from assignments while adding appropriate TODOs Multi-Class Code Generation - Preventing class duplication and ensuring method signatures are assigned to the correct classes Long-Running Programs - Handling threading/async assignments within Piston's 30-second timeout limit Test Generation - Creating meaningful test cases that work for non-deterministic code (random numbers, threading) Production Deployment - Configuring CORS, environment variables, and email services for Render's free tier
Accomplishments that we're proud of
✅ Fully deployed and accessible at scaffi-ai.onrender.com ✅ Experience-adaptive scaffolding that genuinely helps students at their level ✅ Robust AI prompting that generates consistent, high-quality starter code ✅ Multi-language support with live execution for 6+ programming languages ✅ Smart test generation that handles edge cases and non-deterministic code ✅ Polished UI with dark mode, loading animations, and real-time feedback ✅ Production-ready with proper error handling, logging, and user feedback collection
What we learned
AI Engineering - Prompt engineering is as important as traditional software engineering; small changes in prompts can dramatically affect output quality Full-Stack Integration - Connecting AI services, code execution APIs, and real-time UIs requires careful state management and error handling User Experience - Loading states, progress indicators, and smooth animations make waiting for AI responses feel intentional, not broken Deployment Challenges - Production environments have constraints (SMTP blocking, CORS, timeouts) that don't exist in development Iterative Improvement - Building with AI requires constant testing, logging, and refinement based on real usage patterns, which costs you money.
What's next for Scaffi
🎯 Enhanced AI Features Smarter hint system that analyzes test failures to provide targeted debugging help Concept explanations that compare target language to languages you already know Code review feedback on completed assignments
🤝 Collaboration & Integration Real-time collaborative coding for group assignments LMS integration (Canvas, Blackboard, Moodle) Instructor dashboard to track student progress
📚 Expanded Learning More programming languages (Rust, Go, Swift) Support for data structure visualizations Assignment templates library for common CS topics
🚀 Platform Improvements Offline mode for coding without internet Mobile-responsive editor for coding on tablets Export to GitHub for portfolio building
Built With
- ai
- claude
- css
- editor
- fastapi
- langchain
- monaco
- pdfplumber
- piston
- python
- react
- tailwind
- typescript
- zustand
Log in or sign up for Devpost to join the conversation.