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!
It is important to build thing if you want to become great at coding. The secret to being a top developer is building a lot of things!
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.
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?
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.
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.
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.
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
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.
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!
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!