Why a mobility app is a great backend project idea
Whether you're:
- a beginner building a portfolio to get that very first job
- a mid-level programmer looking for a good exercise to hone your skills
- a senior developer looking for a challenge
- a frontend developer aiming to switch to the dark side (i.e. the backend)
- or a coder of any level with any objective...
... building a mobility web application is potentially a fantastic backend project idea for you!
Here's why:
Mobility is different
Note: This is either the best selling point, or the worse depending on what you value. Feel free to skip ahead if this section doesn't apply to you ;)
A Google search for "backend project idea" returns countless pages that basically all list the same ideas (I should know, I've done my fair share of that search). Here's the gist of it:
- a user authentication system
- an API
- a scraper/crawler bot
- an e-commerce or marketplace website
- a restaurant app
- a food delivery, ride sharing, or handyman services app
- a job board
- a todo list, event manager, booking or scheduling system
- a recommendation algorithm (films, recipes, books...)
- a social media clone
- a good old-fashioned blog or CMS
- a (real time) chat/messaging app
- a film or music streaming platform
- a leaderboard or statistics dashboard
- a generator or converter (meme maker, image conversion, PDF exporter, text-to-speech reader, url shortener...)
- and of course a portfolio.
Now don't get me wrong, there's nothing wrong with these! Each has its own specificities and challenges that are worth your time. But.its.always.the.same.ideas. And if you've landed on this page, it's probably because you've been digging to find something else. Something different. Something catchy. A mobility app, for example.
Imaging showing a friend or future employer an application based on the local public transit network that you've both known (and possibly hated) for years. Isn't that more interesting than a Facebook clone filled with users named John Smith and Jane Doe, and stock photos?
99% backend, 1% frontend, 0% content
Most projects listed above rely on the same basic CRUD operations:
- a read all to display a catalogue of products/films/events/jobs/posts/other
- a read, update and delete one to view-edit-remove a given element.
Coding these operations is relatively straightforward and easy (depending on your level of course).
Then each project might have a little something special, like sockets for a chat. That's the cool bit.
Once those are finished though, more often than not the project becomes all about:
- finding or generating enough content to make it look right (which sometimes translates to looking fake due to sample content)
- and/or a lot of faffing about to make it look pretty.
In comparison, a mobility app's frontend can be as simple as a ready-made map library like Leaflet and basic HTML to display stop information, a list of routes, a table of departures, etc. It really doesn't take much to make a map or a table look pretty, and there's no need for a complex layout, dynamic buttons, pictures, etc.
A mobility app is all about the data. Fetching it with complex queries to represent all or part of a network; queries that must run fast despite the load. Then manipulating that data to make it make sense to the end user.
In other words, it relies first and foremost on backend developer skills including:
- using a backend programming language like Python, NodeJS, PHP, etc.
- advanced knowledge of databases and SQL, especially regarding optimisation
- good usage of data structures and algorithms
- working with various data input formats including APIs, files, JSON, PBF, and more.
As simple or complex as you wish
As stated previously, a mobility app is a great backend project for developers of all levels. Simply because there's so much that can be done.
If you're a beginner, just put dots on a map representing the geolocation of stops. It's simple, yet visual and interactive enough that you can add it to your portfolio without blushing!
If you're a senior programmer, the sky's the limit. Build a trip planner, a GTFS feed validator, or a map that shows the whole network. Play with multiple sources of data (like GTFS, GBFS, MDS, NeTEx, and SIRI). Extend to ticketing payments. Follow your imagination.
What's next?
Have I convinced you? If so, have a look at our tutorials for mobility-based backend projects ideas!