00:00:00You know what's more frustrating than building a project? Not knowing what to build.
00:00:04At some point in your developer journey, you reach this weird phase.
00:00:08Building another CRUD app with a JavaScript framework feels boring,
00:00:11but building an operating system from scratch feels impossible. You're stuck in the middle.
00:00:16You don't want it easy. You don't want impossible. You just want something meaningful.
00:00:21Something challenging enough to level you up, but not so overwhelming that you quit halfway.
00:00:26Trust me, I've been there. So in this video, I'm going to give you some really great project ideas.
00:00:32I've divided these into three levels. Level one, building your foundations. Level two, storage,
00:00:38databases, and data systems. And level three, advanced systems and internals.
00:00:44If you build these projects, you won't just become better at coding. You'll start thinking like an
00:00:49engineer. Let's start with level one. The first project is building your own HTTP server from
00:00:55scratch. If you're watching this, you probably know what an HTTP server is. Every time you open
00:01:01a website or call an API, there's a request and a response happening behind the scenes.
00:01:06But so far, you've only interacted with it through frameworks like Express. Building your own mini
00:01:12HTTP server forces you to understand what's really happening underneath. You'll learn how TCP sockets
00:01:19send and receive data, how HTTP requests are parsed, how responses are formatted, and how multiple
00:01:25requests are handled concurrently. If you are already feeling overwhelmed about how you are
00:01:30supposed to take on these projects, I have a little solution for you at the end of this video. Make
00:01:35sure you don't miss that. Now let's go to the second project. Building your own shell. You've used
00:01:40commands like cd, ls, pwd hundreds of times. But have you ever thought about what actually processes
00:01:46those commands? When you build your own shell, you create that system yourself. You'll learn things
00:01:52like reading and parsing user input, executing processes and handling system calls, and
00:01:58understanding OS level concepts like processes and commands. By building your own shell from scratch,
00:02:04you'll understand computers from deep level. Now things start getting interesting. We will see what
00:02:09the projects are in level two. The first project here is building your own Redis. Redis is an
00:02:15in-memory data store used as a cache, database, message broker, and more. It's incredibly fast. But
00:02:21until you build one yourself, you won't really understand why. When you implement your own Redis
00:02:26clone, you will learn how in-memory data structures work. You'll implement basic Redis commands. You
00:02:32will understand the Redis protocol. You will manage multiple client connections efficiently using event
00:02:38loops. These are just some highlights. There are still many things you'll learn after you start
00:02:43working on this. You will realize software engineering is more than just building CRUD applications.
00:02:48Next project is building your own GIT. You use GIT every day. But do you really know how it works?
00:02:54When you build a simplified version control system yourself, everything clicks. You will understand
00:03:00how commits are stored internally. You will implement hashing and content addressable storage.
00:03:05You will organize file snapshots into commit trees. And there's so much more you'll learn and implement.
00:03:11And the great thing about building from scratch is that you can modify it to work as you wish.
00:03:16Finally, our third project is building your own SQLite database. SQLite is a serverless
00:03:22database engine that stores everything in a single file. Unlike MySQL or Postgres, there's no separate
00:03:29server process. It's lightweight but incredibly powerful. When you build your own version,
00:03:34you'll understand how data is organized using structures like B-trees. You'll pause and execute
00:03:39simple queries. You will implement indexing for faster retrieval. As a developer, you cannot escape
00:03:45databases. But once you understand how one works internally, you will be among the few developers.
00:03:52Now on level three, we go deeper. The first project here is building your own mini programming language.
00:03:58Yes, your own language. You will create something that reads code, understands it, and executes
00:04:04instructions. And while that sounds intimidating, it's one of the most rewarding projects you can build.
00:04:10You'll learn and implement things like Alexa, Pasa, and abstract syntax tree. Most importantly, you'll
00:04:17understand how interpreters and compilers actually work. This is a great project because you'll finally
00:04:22understand how we actually communicate with computers. And you can also flex that you created
00:04:27a programming language and name it whatever you want. So the second project is building your own
00:04:32BitTorrent client. This is where distributed systems come into play. BitTorrent is a peer-to-peer
00:04:38file sharing system where users download file chunks from multiple peers instead of a single server.
00:04:44When you build this, you'll implement peer discovery, manage connections between nodes, split files into
00:04:50chunks, ensure file integrity, and handle distributed communication. This is not an easy project.
00:04:57I'm sure you didn't even understand half of the things I just said. But it teaches you how large
00:05:02scale distributed systems actually function. And finally, our last project is building your own coding
00:05:08assistant. Something similar to Claude code. Modern AI tools feel great. But under the hood, they are
00:05:14systems integrating large language models with traditional software architecture. When you build
00:05:20one yourself, you'll integrate an LLM API into an application. You'll parse and index project files
00:05:27to provide context. You'll manage prompts and control responses. You will design a system that
00:05:32blends AI with real engineering principles. And after you start working on this, you will understand
00:05:38how these popular AI coding tools actually work under the hood. And not just that, since AI is so
00:05:44hyped up today, this is a really great and challenging project that can make you stand out. Now let's be
00:05:50honest. Some of these projects are hard. Building your own Redis, Geet, or BitTorrent client isn't
00:05:55something you casually finish over a weekend. You will get stuck. You will doubt yourself. Sometimes
00:06:01you won't even know if you're implementing it correctly. And that's usually where most people
00:06:05quit. So to deal with this, there's a platform called CodeCrafters. It's a project-based learning
00:06:11platform where you rebuild tools like Redis, SQLite, DNS servers, HTTP servers, step by step. They don't
00:06:19give you the solution. They give you tests and structured milestones. And you implement everything
00:06:23yourself. I've personally used it when working on these projects. And honestly, having that structured
00:06:29direction made the difference between quitting and finishing. So if you like these project ideas but
00:06:34want guidance while still doing the real work, I'll leave a link in the description. But whether you use
00:06:39a platform or go fully solo, the important thing is that you actually build yourself. If you have also
00:06:45been tearing apart the internet, searching for the next project to build, I hope this gave you clarity.
00:06:51It might feel scary at first, but cold water doesn't get warm until you jump in. If you enjoyed this
00:06:57kind of video, make sure to like, subscribe, and let me know which project you're going to start with.
00:07:02I'll see you in the next one.