In your ICT Club project, you may choose to build:
-
A Mobile App
-
A Web App
-
A Progressive Web App
For beginners, mobile apps (using MIT App Inventor) are recommended.
However, if your team:
-
Has prior coding experience
-
Has done block-based coding before
-
Wants a more advanced challenge
-
Wants stronger AI integration
Then building a web app may be the right choice.
🔹 MOBILE APP vs WEB APP vs PWA
📱 Mobile App
-
Installed on phone
-
Works offline
-
Can access phone sensors (GPS, camera)
-
Platform specific (Android or iOS)
Example in Uganda:
Offline revision app for rural schools.
🌐 Web App
-
Runs in browser (Chrome, Firefox, Edge)
-
Works on any device
-
Requires internet
-
Built with text-based languages
Example in Uganda:
-
School results portal
-
Farmer price dashboard
-
SACCO management system
🔄 Progressive Web App (PWA)
-
Runs in browser
-
Can be installed like an app
-
Can work offline partially
Example:
Market price monitoring tool for farmers.
IMPORTANT DIFFERENCE: WEBSITE vs WEB APP
Website:
-
Static information
-
Does not change based on user input
Web App:
-
Interactive
-
Responds to user input
-
Can store data
-
Can run AI models
For competition purposes: A simple static website is NOT acceptable.
You must build a dynamic web app.
🔹 MAIN LANGUAGES FOR WEB APPS
There are two main options:
🔹 OPTION 1: JavaScript (JS)
JavaScript:
-
Runs inside browser
-
Executes at runtime
-
Adds interactivity to websites
Combined with:
-
HTML (structure)
-
CSS (design)
Used for:
-
Interactive dashboards
-
Real-time updates
-
Dynamic forms
Best for: Students already comfortable with coding.
🔹 OPTION 2: Python (Recommended)
Python is:
-
Easy to learn
-
Powerful
-
Widely used globally
-
Strong for AI & Machine Learning
For this curriculum, we recommend:
👉 Python + Streamlit
🔹 WHAT IS STREAMLIT?
Streamlit is a Python framework that allows you to build web apps easily.
Advantages:
✔ Simple syntax
✔ Works well with data
✔ Supports charts
✔ Easy AI integration
✔ Runs locally or in cloud
✔ Used worldwide
Example Uganda Scenario:
Problem:
Farmers don’t know weather forecasts.
Web App Solution:
-
User selects district
-
App shows rainfall predictions
-
Uses AI weather prediction API
INSTALL SOFTWARE & CODE STARTER APP
- Step 1: Install Python. Here is a good set of instructions for Window, Mac, or Linux.
- Step 2: Install a code editor and Streamlit. This video shows you how to install Visual Studio Code and then install Streamlit to run it from the code editor.
- Step 3: Run a very simple Streamlit web app in the VS Code environment by following this video.
- Celebrate by taking a screenshot of your first web app and send it with a note to your mentor!
🔹 AI + WEB APPS
Web apps are powerful for AI integration because:
-
Python is the most popular language for Machine Learning
-
Many AI libraries exist
Examples:
-
Crop disease detection
-
Student performance prediction
-
Waste classification system
-
Health symptom checker
AI libraries used in Python:
-
Scikit-learn
-
TensorFlow
-
PyTorch
-
OpenAI API
🔹 GETTING STARTED
You need:
✔ Laptop
✔ Internet
✔ Basic comfort with typing commands
🔹 TWO DEVELOPMENT OPTIONS
OPTION A: Code on Your Computer (Local Development)
Pros:
✔ Full control
✔ Can work offline
✔ Learn real software setup
✔ Good for serious programmers
Cons:
-
Setup may be difficult
-
Requires installing Python
-
Requires using terminal
OPTION B: Code in the Cloud (Recommended for Schools)
Pros:
✔ No installation needed
✔ Easy team collaboration
✔ Saves files online
✔ GitHub integration
Cons:
-
Requires stable internet
Recommended Tools:
-
Streamlit Cloud
-
GitHub
-
Google Colab
🔹 ACTIVITY A: LOCAL SETUP (45 Minutes)
Step 1: Install Python
Step 2: Install Visual Studio Code
Step 3: Install Streamlit
Step 4: Run first app
Example basic code:
Run using:
🔹 ACTIVITY B: CLOUD SETUP (Recommended)
-
Create GitHub account
-
Create Streamlit Cloud account
-
Connect repository
-
Deploy simple app
No installation required.
🔹 REALISTIC PROJECT EXAMPLES (WEB APPS)
1️⃣ School Fee Tracking System
2️⃣ Market Price Dashboard
3️⃣ Youth Employment Portal
4️⃣ Climate Alert Dashboard
5️⃣ SACCO Loan Calculator
🔹 REFLECTION QUESTIONS
-
Was text-based coding harder than block coding?
-
Did installation present challenges?
-
Which development method fits our team?
-
Does our problem require a web-based solution?
-
Will AI improve our web app?
🔹 KEY TERMS
Web App – Interactive app running in browser
HTML – Structure
CSS – Design
JavaScript – Interactivity
Python – Programming language
Streamlit – Python web framework
IDE – Integrated Development Environment
🔹 STRATEGIC RECOMMENDATION
For most schools:
✔ Start with MIT App Inventor
✔ Move to Python + Streamlit for advanced teams
Web apps are powerful for:
-
Data-heavy solutions
-
AI integration
-
Dashboard-style apps
