Prove
LiveProof-of-Work · Oct–Nov: every verified proof counts. 48 days leftAll outcomes
Skills

First Three Projects Shipped (Beginner to Public App)

16 weeks · 5 milestones

Write, run, and ship your first Python programs — from a terminal hello-world to a deployed web app that real strangers can use.

Milestone map

Milestone map

5 milestones

Write and run your first Python program

1–3 days. If you spend more than a day on installation, ask for help — environment setup should not be the hard part.

Install Python 3 and open a terminal. Write a program that asks for a name and prints a personal greeting. Run it. Then change it to ask the user's age. Print the year they were born. These two programs prove code runs on your machine and you can change it.

Proof required

Share a screenshot of the terminal running both programs with real input and output. Use the terminal, not a code editor. Write 100 words on what happens as Python runs your code line by line. Use your own words, not a tutorial's.

What gets checked

  • The terminal shows real input typed in, not a snippet or editor preview.
  • The explanation is in your own words and traces the execution, even if imperfectly.
  • Both programs run without errors, and the birth year is correct.

Common mistakes

  • Installing an IDE before writing any code. Open the terminal first.
  • Copying the program instead of typing it. Typing is how syntax sticks.

Resources

Foundationstart here

Depthgo deeper

Masteryfor the dedicated

What a verifier looks for

  • The screenshot must show the program running with visible input. Reject it otherwise.
  • Ask them to read the explanation aloud. Can they say what input() does and why print() needs it?
  • If it's vague, ask them to handle someone typing their age as a word. Their answer shows understanding.

You'll sign in first, then come straight back here.

Build programs using data structures

1–2 weeks (1 hour/day). The problem-choosing step takes longer than the coding. That's intentional — defining the problem is the skill.

Write three programs, each with a different data structure. Use a list, a dictionary, and both together. Each must solve a real, if small, problem you chose. Tutorial exercises don't count. Each program needs a loop and at least one conditional.

Proof required

Share all three programs through a public link. A Gist, Replit or pastebin works. Run each in your terminal and share the output. Write 150 words on the data structure that confused you most. Say what you understand now.

What gets checked

  • All three problems are your own, not tutorial exercises or the examples named here.
  • Each program has a loop and a conditional, visible in the code.
  • The reflection names a specific confusion, like why dictionaries use keys, not positions.

Common mistakes

  • Using the example problems named here. Choosing your own makes you think about what each structure is for.
  • Three programs that are the same problem with different variable names.

Resources

Foundationstart here

Depthgo deeper

Masteryfor the dedicated

What a verifier looks for

  • Read the code, not just the output. The loop should go over the data structure.
  • Check the three programs solve different problems, and aren't the examples named here.
  • Ask why they used a dictionary, not a list. 'The tutorial did' means it hasn't landed yet.

You'll sign in first, then come straight back here.

Write functions and handle errors

1–2 weeks. The refactoring step is fast. The 'try to break it' step takes as long as you give it — budget a full session just for breaking things.

Rework one Milestone 2 program into at least three functions, each doing one thing. Add error handling so bad input doesn't crash it. Then try to break it on purpose. Type letters where numbers belong, leave inputs empty, and paste very long strings. Record every way you broke it and how you fixed it.

Proof required

Share the reworked code through a public link. Share a screenshot of it handling three kinds of bad input. Each gets a helpful message. Write 150 words on what trying to break it taught you. Which assumptions had you made without noticing?

What gets checked

  • Each function does one thing. One that reads, validates and processes input is doing three.
  • Error handling uses try/except properly, not just if/else checks that miss cases.
  • The reflection names specific assumptions, like 'the user always types a number'.

Common mistakes

  • Functions that are just renamed blocks. One function doing everything is a renamed main().
  • Catching everything with a bare except:. Catch specific errors like ValueError instead.

Resources

Foundationstart here

Depthgo deeper

Masteryfor the dedicated

What a verifier looks for

  • Run it yourself with letters, empty input and a very long string. A crash means it's incomplete.
  • Read the functions. Each must do one thing.
  • Ask them to name one function's single job. If they struggle, the split didn't work.

You'll sign in first, then come straight back here.

Build a real project from scratch

2–3 weeks. The first week is choosing the problem and designing the solution before writing code. Do not skip this — programmers who plan before coding ship faster than programmers who code before planning.

Build a command-line program that solves a real problem in your own life. No tutorial projects or clones. It must use two or more functions and a data structure. Add error handling and file input or output. The file lets data persist between runs. Don't follow a tutorial. Use the docs and Stack Overflow when stuck, but the design is yours.

Proof required

Share a GitHub repository with a README, not a Gist. The README says what it does, how to run it and why you built it. Record a 2-minute screen video running it and explaining what it does. Write 200 words on the hardest problem you hit. Say what failed before what worked.

What gets checked

  • It solves a problem you named first. 'Why I built this' is personal, not 'to practise Python'.
  • At least five commits show it built step by step, not one final commit.
  • The reflection names a specific error, what you tried, and what finally worked.

Common mistakes

  • A tutorial project, like a to-do list because the tutorial had one. The problem must be yours.
  • A one-commit repository. Commit history shows you built it step by step.

Resources

Foundationstart here

Depthgo deeper

Masteryfor the dedicated

What a verifier looks for

  • Clone it and run it from the README alone. If that takes over 5 minutes, it isn't done.
  • Check for more than five commits with meaningful messages.
  • Watch the video. Do they explain what they built, or just click through?

You'll sign in first, then come straight back here.

Ship something others can use

2–3 weeks. Deployment takes longer than expected. Budget a full day for it. Getting 5 strangers to try it takes longer than getting 5 friends — that difficulty is the lesson.

Take your Milestone 4 project, or a new one, and make it usable by non-programmers. Deploy it as a web app with Flask or Streamlit. Then anyone can use it in a browser. Or publish it on PyPI so developers can install it with pip. Get at least five people who don't know you to try it. Each tells you one thing that confused them.

Proof required

Share the public URL or the PyPI link. Show five real users tried it, with screenshots of their feedback. Messages, emails or form replies all work. Anonymised is fine. Write 200 words on what you changed after the first user. Say what you learned about building for others.

What gets checked

  • The URL or package works for a stranger with no help from you.
  • The five found it without a personal invite, through a community, social post or directory.
  • The reflection names one real confusion you'd never considered.

Common mistakes

  • Counting friends and family. They're too polite to be honest.
  • Deploying but not sharing it. Post it in communities like Reddit, Discord or Show HN.

Resources

Foundationstart here

Depthgo deeper

Masteryfor the dedicated

What a verifier looks for

  • Use it yourself with no help, as a stranger. Note each point of confusion.
  • Check the five found it without a personal invite. Friends and family don't count.
  • Compare your confusions with theirs. If you found new ones, ask why they weren't fixed.

You'll sign in first, then come straight back here.

We use analytics to improve Powstik. No ads, ever.