Build something real.
Projects are how the learning sticks. Here are things I’ve built, including the parts that broke. If you want to try one yourself, each comes with a rough plan and a list of what you’ll need.
Only build and test these on systems you own or have written permission to test.
Things I’ve built
Each one has a short write-up covering what it does, what I learned, and what went wrong.
Project 01 Beginner
Password strength checker
Scores a password and explains why it’s weak or strong.
Python
Project 02 Beginner
Port scanner for my own network
Lists the open ports on a machine I own.
Python, sockets
Project 03 Intermediate
Phishing email checker
Flags suspicious links and sender mismatches in an email.
Python
Project 04 Intermediate
Log analyzer
Reads a server log and highlights failed logins.
Python
Start your own
You don’t need to copy mine. Pick one that sounds fun and follow this checklist.
- Pick one small idea you can finish in a weekend
- Write down what it should do in one sentence
- Build the simplest version first
- Test it only on your own files or lab machine
- Write down what broke and how you fixed it
- Put it on GitHub with a short README
How I write up a project
Every write-up follows the same six parts, so you always know where to look.
The goal
What I wanted it to do, in a sentence or two
What you need
Tools, languages and roughly how long it takes.
How I built it
The steps in plain language, with the key code
What broke
The mistakes I made and how I fixed them.
What i learned
The one or two things I’d tell a friend starting out.
Try it yourself
Ideas for extending it in your own version
Have a project to share?
If you’ve built something small, or found a mistake in one of mine, send it over. This site gets better when more people add to it.