Side, projects for software developers, you've heard they're a great way to beef up your resume or learn a new technology or framework. The problem is you don't know what to work on? Well, don't worry. I got you by the way make sure you hit the like button. So this video gets recommended to more people subscribe to the channel, because if you don't, then i'm gon na not do anything, but you should still do it if you're enjoying the content.
For me, when i want to learn a new programming language or framework, it's much easier, if i'm applying it to a project side, project ideas are one of the most things i get asked about. So in this video i'm not only going to give you ideas, but i'm going to give you potential or possible frameworks and technologies. You could use to build those projects. Now this list is really only scratching the surface and, if you guys do have ideas, definitely leave them down in the comments. So other people watching the video can get ideas so for a project you can either have a mvp, which is a minimum viable product, something that just has the core functionality of your project or you can build out a bunch of extra features.
On top of it add an interface at a database. That'S the cool thing about these projects. Is you can, you know, take them as far as you want to go, and also as a tip if you are working on these projects, even by yourself, i still do recommend using some kind of source control like git and pushing your repository to a remote location. Like github, that way, you can revert your changes if you need to showcase your project and just building good habits and it's good practice. The first thing you can do is to clone an application that you use and are familiar with, and by clone i mean just recreate or real, rebuild the app from scratch. I would recommend picking some social media app that you know very well. Instagram and twitter are good examples because at their core they're, pretty simple apps and then it allows you to build features.
So say you don't want to host your database on your local machine. What you can do is you can go to a cloud service like aws or azure, set up your database and then hook in that database. To your application now say you want to just work on the front end, but you still want to have some back end component, but you don't want to build it out. What you could use is something like a back end as a service. I haven't personally used it, but i've heard good things about firebase. So basically you would just go to the interface that firebase provides and you can set up things like authentication, api, endpoints database queries and it takes care of all that for you. So all you need to do is call that from your front end application. So i highly recommend that, if you're looking to get something up and running fast on your back end, you could build out certain features of apps
I had an interview once where they wanted me to build out a feature from amazon, where you know when you click on a product, and it says people who bought this also bought this. So you have to think about like how you want to model your data. How how that's all going to work, which is it's a lot harder than you'd - think you could build out a chat service, so this is something that i had to do for my networks class in college. This gets you familiar with socket programming. I did this in c, but languages like python and java do have support for this. I do recommend doing it in c, because python and java abstract away a lot of this stuff. That'S going on under the hood, but yeah
If you don't know what a socket is, it's basically a communication pipe that transfers data between two programs on a network or a computer. So basically you would have one process running as a server. You would have different clients connect to it, and the clients could send messages to each other. It would pass through the server and the server would route it to the uh. Whichever client it's supposed to go to, you could rewrite linux commands. So the popular commands like pwd print, working directory or ls, which lists the items in a directory
This is a good exercise because it gets you comfortable with systems, programming and yeah look into system calls. If you want to do this one, you could build a search engine which is essentially web crawler i'll. Let you look into that. You could build a web scraper web scrapers are programs that go through a website and extract data such as the images or the links. The first video i ever did on this channel was building out a web scraper uh the quality. Isn'T that great. But i think it's still a good lesson.
You could build out an elevator control system. This is great practice for object, oriented design. You could build a bug tracking app like asana. A lot of companies use this to keep track of their bugs, and the states that they're in this is also a good one. To showcase, if you're looking for a job, because most companies use some kind of tracking system like this, So it's a good way for them to gauge whether your app is good or not. You could build out different types of mobile applications.
You could do something like a tinder-based swiping app uh for dogs. Wait. Does that already exist, you could design a shake shack menu. So i don't know if you've ever been to one, but basically you walk in. You. Don'T talk to anyone. You just go to this ipad and you put in your order and then you just wait and they call your number. You can build out an application using a public api. You can do something like i don't know, pull sports statistics and just like do something cool with that games. Obviously, there's a lot of opportunity there. You could recreate something like chess, battleship, blackjack snake or if you want to build like a full-fledged game out, i would look into unity. You could build out a discord bot by the way.
If you want to join my discord server, There'S a link down in the description. You could build out a packet sniffer. Basically, what that is is uh. It'S a application that can track or monitor all the traffic. That'S moving along a network just make sure you're not running this on any type of public network, because pretty sure that's illegal, you could build a google chrome extension either create a new one or recreate an existing one, one, that's probably on the easier side and one Of the most useful is to build out a personal website, you can do a facial recognition, application, making sure people don't vote twice.
Obviously, you'd want to do this on something that has a camera on it. You could build out a data visualizer. This is something i saw another youtuber doing. It was a really cool application, so how it works. Is you have a grid? You pick two points. Uh. You could put barriers if you want, you pick a certain search algorithm and it shows visually how that algorithm is searching through the grid to try and find that second point, and then it returns the shortest path. This is a great way to showcase your frontend skills and also your knowledge and graph theory. And finally, you could go on github search for cool projects and try and contribute to those all right. Hopefully that gives you guys some starting point or idea to work on and remember. These are side projects, so have fun with them. Try new things and everything is a learning experience and again, if you feel like there's anything i missed out or any ideas. You have definitely let me know in the comments, so other people can see it and get ideas.