Assignment: Low-Code ML Application
Phase 18: Low-Code AI Tools
Scope: End-to-end app build with optional extra polish
Suggested Pace: 1-2 weeks, depending on deployment and polish
📋 Assignment Overview
Build and deploy a complete machine learning application using low-code tools. Your application should include AutoML model training, an interactive interface (Gradio or Streamlit), and deployment to Hugging Face Spaces.
🎯 Learning Objectives
- Apply AutoML for model development
- Build user-friendly ML interfaces
- Deploy applications to the cloud
- Integrate multiple low-code tools
- Follow best practices for production ML
📝 Requirements
Part 1: Dataset and Problem
Choose ONE of the following:
Option A: Classification Problem
- Predict customer behavior (churn, purchase, click)
- Medical diagnosis
- Sentiment analysis
- Fraud detection
Option B: Regression Problem
- Price prediction (house, stock, product)
- Demand forecasting
- Performance estimation
- Time series prediction
Deliverables:
- Dataset description (source, size, features)
- Problem statement
- Success metrics
- Exploratory data analysis (EDA)
Self-check:
- Clear problem definition
- Appropriate dataset
- EDA with visualizations
Part 2: Model Training with AutoML
Use PyCaret, FLAML, or H2O AutoML to train your model.
Requirements:
- Data preprocessing (handle missing values, encode categoricals)
- Train multiple models using AutoML
- Compare at least 5 different algorithms
- Tune hyperparameters of best model
- Evaluate performance (accuracy, precision, recall, etc.)
- Save final model
Deliverables:
- Jupyter notebook with AutoML pipeline
- Model comparison results
- Performance metrics on test set
- Saved model file (.pkl or .h5)
Self-check:
- Proper data preprocessing
- Model comparison and selection
- Performance evaluation
- Model saved correctly
Part 3: Interactive Interface
Build EITHER a Gradio interface OR a Streamlit app.
Option A: Gradio Interface
Requirements:
- Clear input components for all features
- Prediction output with confidence score
- At least 3 example inputs
- Custom theme and styling
- Error handling for invalid inputs
Option B: Streamlit App
Requirements:
- Sidebar for input controls
- Main area for predictions and visualizations
- Session state for user interactions
- Caching for model loading
- Interactive charts (plotly or matplotlib)
Both Options Must Include:
- Clear instructions for users
- Feature descriptions/tooltips
- Actionable output (not just raw predictions)
- Professional appearance
Deliverables:
- app.py file with complete interface
- requirements.txt with all dependencies
- Screenshots of working interface
Self-check:
- User-friendly design
- Proper functionality
- Error handling and edge cases
- Professional appearance
Part 4: Deployment
Deploy your application to Hugging Face Spaces.
Requirements:
- Create Hugging Face account
- Set up new Space (Gradio or Streamlit SDK)
- Upload all necessary files:
- app.py
- requirements.txt
- README.md (with frontmatter)
- Trained model
- Ensure app runs successfully
- Test all features in deployed version
Deliverables:
- Public Hugging Face Space URL
- README.md with:
- App description
- Usage instructions
- Model information
- Example inputs
- Working deployed application
Self-check:
- Successful deployment
- Complete README
- App functionality
- Professional presentation
Part 5: Documentation and Report
Create a comprehensive report including:
-
Introduction (1-2 pages)
- Problem description
- Dataset overview
- Approach summary
-
Methods (2-3 pages)
- AutoML platform choice and justification
- Model comparison process
- Final model selection reasoning
- Interface design decisions
-
Results (1-2 pages)
- Model performance metrics
- Comparison table
- Visualizations of results
- Discussion of strengths/limitations
-
Deployment (1 page)
- Deployment process
- Challenges faced
- Solutions implemented
-
Conclusion (1 page)
- Summary of achievements
- Lessons learned
- Future improvements
Deliverables:
- PDF report (5-10 pages)
- Well-organized sections
- Visualizations and tables
- References (if applicable)
Self-check:
- Clarity and organization
- Technical accuracy
- Completeness
🌟 Optional Extensions
Optional Stretch Ideas:
-
Advanced Features
- SHAP explanations for predictions
- Batch prediction with file upload
- Model comparison dashboard
- Real-time data visualization
- A/B testing different models
-
Additional Deployment
- Deploy to multiple platforms (Docker, Cloud Run, etc.)
- Set up CI/CD pipeline
- Add monitoring/logging
-
Outstanding Quality
- Exceptional documentation
- Production-ready code quality
- Comprehensive error handling
- Accessibility features
📤 Deliverables & Packaging
Prepare the following:
-
GitHub Repository containing:
- Jupyter notebook(s) for model training
- app.py for interface
- requirements.txt
- README.md
- Saved model file
- Any additional code files
-
Hugging Face Space URL
- Working deployed application
- Complete README on Space
-
Report (PDF)
- Following structure outlined above
-
Project Summary with:
- Project name
- GitHub repository URL
- Hugging Face Space URL
- Report PDF
- Brief summary (200 words)
Suggested Packaging:
- Keep all materials in one well-organized repository or archive
- Use a clear project name such as
phase18_low_code_assignment/ - Make it easy for another learner or reviewer to run the app and inspect the results
✅ Self-Review Guide
| Component | Points | Criteria |
|---|---|---|
| Dataset & Problem | 15 | Clear problem, appropriate data, EDA |
| AutoML Training | 25 | Proper workflow, model comparison, evaluation |
| Interface | 30 | User-friendly, functional, professional |
| Deployment | 20 | Working app, complete README, accessible |
| Documentation | 10 | Clear, organized, comprehensive report |
| Bonus | +15 | Advanced features, extra deployment, quality |
| TOTAL | 100 (+15) |
💡 Tips for Success
Technical Tips:
- Start simple - Get basic version working first
- Test locally - Debug before deploying
- Version control - Commit frequently
- Pin dependencies - Specify exact versions
- Handle errors - Add try-except blocks
Design Tips:
- User-first - Think about user experience
- Clear labels - Make inputs obvious
- Provide examples - Help users understand
- Show confidence - Display prediction uncertainty
- Add context - Explain what predictions mean
Deployment Tips:
- Check requirements - Test all dependencies
- Optimize model - Reduce size if possible
- Test thoroughly - Try edge cases
- Monitor logs - Watch build process
- Update README - Keep documentation current
📚 Resources
AutoML Platforms:
Interface Tools:
Deployment:
Example Projects:
- Browse Hugging Face Spaces for inspiration
- Check course notebooks for patterns
- Review PyCaret examples
❓ FAQ
Q: Can I use my own dataset?
A: Yes! As long as it meets the requirements (appropriate size, clear problem).
Q: Which AutoML platform should I use?
A: PyCaret is recommended for beginners. FLAML for faster training. H2O for larger datasets.
Q: Gradio or Streamlit?
A: Gradio is simpler for basic interfaces. Streamlit offers more customization.
Q: What if my model is too large to upload?
A: Use model compression, reduce features, or use Git LFS for large files.
Q: How long should my app take to load?
A: Aim for < 30 seconds initial load, < 2 seconds per prediction.
Q: Can I work in a group?
A: Individual work is the cleanest path. If you collaborate, keep ownership of the model, interface, and deployment decisions explicit.
Q: What if deployment fails?
A: Check logs, verify requirements.txt, test locally first, ask for help.
🎯 Example Project Ideas
Beginner Level:
- Iris flower classifier
- Boston house price predictor
- Titanic survival predictor
- Wine quality estimator
Intermediate Level:
- Customer churn predictor
- Loan default predictor
- Product recommendation system
- Sentiment analyzer
Advanced Level:
- Real-time fraud detection
- Medical diagnosis assistant
- Stock price forecaster
- Image classification system
🏆 Suggested Build Timeline
- Stage 1: Dataset selection and EDA
- Stage 2: Model training and evaluation
- Stage 3: Interface development
- Stage 4: Deployment and documentation
Use the stages above as a pacing guide if you are studying independently.
📧 Getting Help
- Discussion Forum: GitHub Discussions
- Technical Issues: Include logs, screenshots, deployment errors, and your
requirements.txt. - Best workflow: Test locally before pushing to Hugging Face Spaces.
Good luck! Build something amazing! 🚀