Capstone — build your own app
Twenty-plus tutorials behind you. Now the real test: an app nobody scripted for you. This is the lesson where you stop following and start building — the difference between someone who did a course and someone who can code.
The brief
Build one original Streamlit app that solves a problem you actually have. It must:
- Do something useful — you’d genuinely use it monthly
- Take input — at least 3 different widgets
- Remember something — session state or a saved file
- Look intentional — sidebar/columns layout, a metric or chart
- Be deployed — live on the internet (the deployment lesson covers how)
Ideas if you’re stuck
- Study planner — subjects, hours logged, weekly progress chart
- Water/fitness tracker — daily logging + streaks
- Split-expense calculator — who owes whom after a trip
- Flashcard revision app — your own questions, random order, score tracking
- Recipe cost splitter — ingredients, quantities, per-person cost
The best capstone is boring. “Water tracker” beats “AI social network” every time, because boring gets finished.
The process (how real developers work)
Day 1 — Scope on paper. Write one sentence: “My app lets a user ____ so that ____.” List your widgets. Sketch which panel holds what. If the sketch takes more than one page, cut features.
Day 2 — The ugly version. Build the logic with zero styling: inputs, state, and one output that proves the core idea works. This is the hardest day — everything after is decoration.
Day 3 — Layout and polish. Move controls to the sidebar, add columns, add a metric. Fix the three ugliest things. Stop.
Day 4 — Deploy and share. Push to GitHub, deploy free, send the link to one friend. Their reaction is your grade.
The rubric (grade yourself honestly)
| Criteria | Question to ask |
|---|---|
| Works | Does it run without errors for a first-time user? |
| Useful | Would you open it again next week? |
| State | Does it remember data between interactions? |
| Layout | Can a stranger understand it in 10 seconds? |
| Deployed | Does it have a public URL? |
When you’re stuck (you will be)
- Re-read the error — the last line names the problem
- Reduce until it works — comment out half the app; does the half that remains run? Rebuild up from there
- Find the closest tutorial — your capstone is almost always two of this course’s apps combined
- Timebox frustration — 30 minutes stuck, then change approach. Walking away for 10 minutes genuinely works (your brain debugs in the background)
After you ship
Add it to your portfolio, post it with #buildinpublic, and write down the three things you’d do differently — that list is the syllabus of your next project.
This is the end of the taught course — and the start of the actual skill. Everything from here, you build. 🚀
Key takeaways
- • Scoping a project you can finish
- • Applying the patterns independently
- • Presenting your work