Last updated 1 year ago by Reed Bargerreact
You’ve put in the work and now you have a solid understanding of the React library.
You’ve made a great deal of progress… but now what do you do?
How do you bridge the gap between knowing the fundamentals of React and becoming a professional developer?
After you’ve learned the basics of React, you need to get comfortable building apps with the skills you’ve gained. This practice lies at the core of being a effective React developer—knowing how to build apps on your own and utilizing the right tools in the React ecosystem to do so.
But what apps should you be building with React to level-up your ability as a developer?
In this article, we’ll go through 5 different types of apps that you should be looking to build after the basic todo app. The great benefit of building apps is that, once deployed, they can be linked to your portfolio as a powerful, immediate way of showing employers your expertise.
For each type of app, I’ll cover popular examples that you can use as inspiration, the tools I would recommend to build each app feature, along with a short demo of such an app that I’ve personally made using React.
Unlike learning React itself, where you can find dozens of articles to dive deeper into any related concept, the process of building an app is largely a self-directed activity without much guidance. If you’re getting started building apps on your own, I would recommend searching for articles that teach you the basics of building an app and dive into the app source code that they provide. Even the process of reading code itself will make you a better developer.
If these examples look too daunting to build yourself, remember what you know as a React developer—to break applications down into composable components. Every application must be built piece-by-piece, component-by-component. Focus on building out one feature at a time. With practice you’ll get a better sense of how what tools you’ll need for the features as well as the common patterns behind building apps in general.
Note: One misconception that I had when starting to build real applications like these was that I had to build an entire backend / API with Node or Python to get the functionality I needed. You don’t need to do so. Look into powerful serverless technologies like Firebase, AWS Amplify, or Hasura that give you a complete backend out of the box without the need to create and deploy one yourself. Invest in tools that make you more productive and save time.
If I had to recommend only one app for you to add to your portfolio, it would be a social media app. Twitter, Facebook, and Instagram among other popular apps are quite sophisticated and include a ever-growing number of features to keep users engaged. On top of that, it’s the kind of app you likely know best regarding how it should function.
There are a number of features common among almost all social media apps: the ability for users to make posts with text and/or media files, a live feed of those posts, enabling other users to like and comment on posts, as well as user authentication. And once you’ve got that down, you can add profiles for each of your users, where they can personalize their account as well as manage the users they’re following.
App examples: Instagram, Twitter, Snapchat, Reddit