10 React Native Project Ideas For Beginners
If you’re just getting started with React Native, you may be looking for some project ideas that are particularly suited to beginners.
Of course, there is always the classic todo app, but what other projects are suitable for React Native beginners?
We’ve compiled a list of 10 interesting React Native project ideas for your consideration.
Let’s get started!
1. The personal goal tracker
Personal goal tracking apps can be fairly useful tools.
The user would have the facility to create and modify specific goals as per their requirement, and then update their progress with regards to these specific goals on a daily basis.
As such, the expected functionalities within this app would be something like as follows:
- The ability to create/read/update/delete goals
- Log time/progress against a specific goal
- Access an overview, or dashboard view, containing recent activity. Optionally filterable by day/week/month/year
- Also view charts and graphs containing key metrics (goals met compared to goals in progress and so on)
This is a suitable project idea for React Native beginners as the majority of the functionality is centred around modifying simple data and then effectively displaying/portraying this data.
There’s a good opportunity with these kind of apps for you to add a lot of flair, for instance through the use of nicely-animated graphs and charts.
Optionally, the personal goal tracker app idea can also be further enhanced by combining it with other aspects of functionality. For instance the next idea in the list, the time-tracking app.
2. The time tracker
This app would have one specific goal: track the user’s time on a per-project basis.
Given that, the specific functionalities required by this app would be:
- Create/read/update/delete projects
- Log time against a project
- View detailed breakdown of time spent per each project, as well as any other useful analytics
In terms of actually tracking time, one idea may be to allow the user to supply a start time and a stop time. The app would then determine the actual time taken (hours/minutes) for this period.
The time period would need to be valid — the stop time can’t come before the start time.
Similarly, the user should be able to enter specific times themselves without actually specifying start/stop times for their activity. So just enter a chunk of time specifically — ie. a 2 hours and 10 minutes block.
So there would be two modes of entry here in terms of logging time.
Upon completion, you should have a fully functional app that’s capable of effectively tracking and measuring the user’s time spent. The overall aim being to monitor and increase productivity.
3. The diary/journal
A diary or journal app is a fairly simple undertaking in its most basic form, it’s also something that’s almost immediately useful — even in it’s initial form.
This makes it an ideal React Native project idea to get involved with!
The app would need to provide the following features as a bare minimum:
- View diary entries in list view but also in calendar view
- Create/read/update/delete diary entries
The MVP (minimum viable product) here is fairly straightforward. But the diary can easily be enhanced with extra features.
Here are some extra features that could be included once the base functionality is in place:
- Attach tags or categories to each diary entry
- Provide analytics/reporting on the user’s data
- Add filters, allow the user to filter diary entries by tag/category and so on
As with most of these other React Native project ideas, the aim is to have a simple base that can be easily iterated on and improved with a multitude of additional features over time.
4. The stopwatch (with routine mode)
We’re all familiar with the stopwatch, there are many stopwatch apps out there!
The stopwatch app idea in particular would have 2 distinct modes.
Firstly, it can serve as a regular stopwatch. Simply hit “start” and the app will begin counting out the time elapsed for you. This would be basic mode.
In advanced mode, the user would be able to stipulate a specific routine for the timer to follow. This should be tailored to whatever activity or set of activities the user is looking to perform and track.
For example, let’s look at an example for a fitness enthusiast:
- Jog on the spot for 30 seconds
- Rest for 10 seconds
- Do press-ups or sit-up for 30 seconds
- Rest for 10 seconds
… and so on.
The key idea here is that the app shouldn’t be specific to any niche or type of activity. It should be entirely generic in this regard. And hence, reusable and fit for many different different purposes.
Moving forwards, creating apps in this generic way is a great way to produce more value outside of a single build. The app can easily be used as a basis to fit many different niches.
5. The weather app
This React Native project idea would make use of an external weather API, for instance the OpenWeather API.
The required functionalities are as follows:
- Allow the user to specify a location via text input. Optionally, determine the user’s location dynamically instead
- Make a request to the weather API, fetching the relevant weather data (you can use Fetch or another library of your choice for this)
- Present this data back to the user in an aesthetically pleasing manner
There’s a lot of benefit to building your app around an API in this way.
The bulk of the functionality comes from an external source, it’s simply a means of fetching and presenting this data in an effective manner.
Working with APIs in this way is, in some ways, a fundamental skill — even for React Native developers. As such, this is a useful project to undertake for beginners.
6. The combined dictionary/thesaurus
Similarly, the dictionary/thesaurus app would make use of an API — Free Dictionary API is a good example here.
The nice thing about this API is that it can return
mp3 audio files, these can be used to play back the searched word to the user.
Here’s what the app should do:
- Allow the user to provide text input, then select either dictionary or thesaurus mode
- Fetch the required data
- Present the results back to the user in text format
- Optionally, also allow the user to play an audio file, too
This is a good beginner React Native project idea as it’s fairly simple, but it also provides great value to the end-user.
The app would act as a wrapper for both dictionary and thesaurus facilities, so it’s a convenient tool that can also be further enhanced with extra functionalities, much like most of the other ideas in this list.
7. The currency converter
Here’s another useful tool to have in your pocket, a currency converter.
There are numerous APIs out there, for instance fixer.io.
The app would need to provide the following fuctionalities:
- Fetch basic conversion rates based on user input
- Actually convert a specific amount to another currency — ie. $100 to GBP
- Provide a mechanism for storing the user’s “default” currency, use this in future conversion lookups unless otherwise specified
- Similarly, present the most relevant data on the homepage/dashboard of the app. The currency overview displayed should concern the user’s main currency
Short and sweet app ideas like this are great projects for beginners to undertake.
Again, they provide some tangible value to the user — whilst also acting as a great basis for further additions and enhancements in the future.
8. The personal budget tracker
Many people use budget tracking apps. They are simply a great way to keep on top of your finances.
This is a good app idea for React Native beginners as the MVP (minimum-viable product) can be fairly straightforward to implement at first.
At it’s core, your app should be able to:
- Allow the user to specify an overall budget, for instance on a monthly basis
- Allow the user to record their expenditure on the fly
- Measure the expenditure against the allocated budget
In addition, some nice-to-haves would be:
- Charts and graphs to present analytics and spending habits to the user
- Detailed breakdowns of cash in/cash out per month
- Notifications when the user is approaching their budget for the month
9. The simple game
Another possible React Native project idea that may be suitable for beginners would be to build out a simple game — only catered more towards the mobile app format instead of a browser-based experience.
Examples of these types of simple games would be hangman, noughts and crosses, as well as snake.
In terms of integrating these kind of game ideas in to React Native in particular, it may be a good idea to:
- Store high scores per each user
- Have a leaderboard whereby users can see how they place when compared with other players
- Combine multiple games in to one app, allow the user to switch between different games on the fly
10. The blog reader – consume your WordPress (or similar) blog
Perhaps you have a WordPress blog already, why not integrate this blog into a React Native app?
You can certainly create a re-usable base for this. Simply put, an app that consumes or reads blog data from an external API. Given this robust and generic base, it’d be a matter of plugging in the required details (ie. the API endpoints and so on) in order to communicate with your data source.
You can use the WordPress REST API to fetch and collate content from your blog, then present this back to the user via your app.
As you’d expect with this kind of app, the main functionalities would include (but would not necessarily be limited to):
- The ability to view posts, filtering by category and so on
- The ability to search for posts via text input
- The ability to comment on posts, as well as like or dislike posts
Of course, it may be a good idea to consider how to cache your blog data, so you aren’t making multiple requests each and every time the user opens up the app or navigates to a new page!
Why are these React Native app ideas suitable for beginners?
These app ideas are suitable for beginners as they are typically fairly straightforward, with few moving parts.
In some cases, user data doesn’t need to be persisted in any way on the device.
In other cases, where persistence is a requirement, the app design is still relatively easy to rationalize and plan ahead of time.
To recap the different types of functionality covered by this list:
- Creating, reading, updating and deleting data from the local storage source (SQLite or AsyncStorage most likely)
- Interacting with external APIs via Fetch or some similar implementation
- Implementing React Native chart libraries to help display data in chart or graph format
Given some experience with (or the willingness to learn) these core concepts, each of the ideas in this list should be well within the developer’s grasp!
Why you should keep it simple when starting out as a React Native beginner
It’s much better to build an app that you are comfortable building, as you’ll want to allow time to get a good grasp and understanding of the other React Native aspects (outside of actually building up your app).
This would include steps such as:
- How to effectively test your app, both in simulators and on real devices
- How to prepare builds and release for both iOS and Android apps
Where can I find more React Native project ideas like these ones?
As you can see, all of the ideas presented in this list can be implemented outside of React Native, in any other technology or platform of your choice. As the ideas are fairly generic and straightforward, you aren’t tied specifically to React Native.
As such, you can re-use other articles that aren’t specifically aimed at React Native development in order to come up with additional ideas.
These articles should serve as an additional starting point to help you come up with other suitable projects to implement!