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

Share this project:

Updates