by Indrek Lasn
Here’s yet another list of exciting projects to build
Coding is a skill which is acquired through hard work and passion. To become good at something, one must put in the effort. Don’t be that person who quits when things get hard. There’s light at the end of the tunnel and it’s well worth it!
Note: This article was originally published at strilliant.com — please give some love to the original too! ❤
Nothing good comes easy. If it’s hard, it’s worth doing. Most of us are excited to code, but lack the ideas. Summer is over and it’s time to start coding again. Allow me to present some challenging, yet fun ideas to build.
1 — Customizable rich text editor
A rich text editor’s aim is to reduce the effort for users trying to express their formatting as valid HTML markup. A rich text editor enables the users the option to format their text in different ways.
Everyone has used a rich text editor at some point. So why not build one yourself?
2 — Reddit clone
Reddit (/ˈrɛdɪt/, stylized in its logo as reddit) is a social news aggregation, web content rating, and discussion website.
Reddit is my biggest time sink, yet I keep doing it. Building a Reddit clone is a productive way to learn coding (while still browsing Reddit).
Reddit provides with you a very rich API. Don’t skip any features and don’t half-ass it. In a real world scenario with paying clients and customers, you can’t half-ass or you will be out of job real quick.
Smart clients immediately know if poor work is being done and will find someone else.
3 — Publish an open source NPM package
Understanding the full cycle of a package is very eye-opening experience. There are many things you need to know when publishing code. You need to think about security, semantic versioning, scalability, naming conventions, and maintenance.
The package can be anything. If you lack ideas, build your own Lodash and publish the package.
Having something you made on the internet puts you at the 10% already. Here are some handy resources about open source and packages.
4 — The freeCodeCamp curriculum
freeCodecamp has put together a very comprehensive coding curriculum.
freeCodeCamp is a non-profit organization. They consist of an interactive learning web platform, an online community forum, chat rooms, a Medium publication and local organizations that intend to make learning web development accessible to anyone.
You’re more than qualified for your first job if you manage to finish the entire curriculum.
5 — Create a HTTP server from scratch
HTTP is one of the main protocols how content is being served on the internet. HTTP servers are used to serve static content like HTML, CSS and JS.
Being able to implement the HTTP protocol from scratch broadens your “big-picture” knowledge on how everything fits together.
For example, if you come from a Node background, the Express framework provides a HTTP server.
For a challenge, see if you can:
- Set up a server without using any libraries
- The server has to serve HTML, CSS and JS content.
- Implement a router from scratch
- Watch for changes and refresh the server
6 — Note taking desktop application
We all take notes, right?
Let’s build a note taking desktop application. The notetaker needs to save the notes and sync them with a database. Create a native app with Electron, Swift, or whatever you like, as long it lives in your filesystem.
Feel free to combine this with the first challenge (rich text editor).
As a bonus, try and sync the desktop version with a web version.
7 — Podcasts on the web (Overcast clone)
Who doesn’t listen to podcasts?
Build a web application with the following functionality:
- Create an account
- Search for podcasts
- Like and subscribe to podcasts
- Stop and play, change the speed, forward and backward 30 seconds.
As a starting point, try the iTunes API. If you know any other resources, please post in the comments!
8 — Screen capture
Hey! I’m capturing my screen right now! ❤
Build a desktop or web application that let’s you capture your screen and save the clip as a
Here’s some guidance how to achieve this.
Thanks for reading, I hope you found some inspiration. Feel free to tweet or comment the results straight to my mailbox!
Found this useful? You might enjoy some of my other articles:
If you’ve started to learn programming and have decided to get serious — or you’re fresh out of school with no job…medium.freecodecamp.orgFrom Zero to Hero with Vue - But first, why Vue?
You see this, what do you do?codeburst.io✨ Immensely upgrade your development environment with these Visual Studio Code extensions
Let’s talk about Code — Visual Studio Code.medium.freecodecamp.orgHow to set-up a powerful API with Nodejs, GraphQL, MongoDB, Hapi, and Swagger
Separating your frontend and backend has many advantages:medium.freecodecamp.org