Mobile App Development Web Development

Capstone Project: Developing A Ride-Sharing Application For ALU Students And Staff Living In Kigali

I have always been interested in design, therefore after taking the Human-Computer Interaction and the Mobile Development modules of the Computer Science program, I thought it would be a great idea to use both to create a meaningful solution for the people around me, the ALU community.

Ever since ALU relocated to the Kigali Innovation City, which is far from residential areas, students have had to endure long, expensive and hectic commutes to and from campus. Lucky enough, I have always lived at a walking distance from school, but I have nonetheless seen my colleagues climb hills and go down valleys (literally) to be in time for that 8 am class.

Many students have always used Motos (local motorbike transport in Kigali) with a few, mostly Rwandans, opting for public bus transport and others using private cars/motorbikes. While both modes have served the community fairly well, they have always been relatively unstructured and expensive (especially Motos) at times. The hustle and bustle of getting to school has progressively led to reduced attendance rates to classes and financial pains from existing expensive transportation options.

For the reasons mentioned above, I decided to design and develop a ridesharing application to provide a structured, more communal and cheaper way of transportation for both students and staff. It also gives those who opt-in as drivers the chance to make some extra cash while solving the problems of their colleagues.

The Solution

ShareTrans is an android ride-sharing application that makes it easier for passengers to get matched to drivers who are driving the routes they would like to take. It also gives drivers (who can be students/staff) the chance to make money while helping other members of the community.

It’s important to note that the focus of this project is the ALU community, however, it can be used beyond the defined scope. It is therefore by no means restricted.

The Design Process 

I started off with the formation of the concept note of the project, which had a high-level idea of what the solution would look like. A project proposal to stakeholders then followed, with a more detailed explanation of the solution. The proposal had the following sub-sections to make it clearer:

  • Project requirements – this had the definition of the solution, with a specific and clear scope.
  • Literature review – I looked at existing literature regarding the solution to identify key steps in the industry, as well as gaps that can be addressed by my solution.
  • System design – this bit laid down what the architecture, platforms to be used, programming languages and security measures would look like.

During the design phase, I kept referring to the Figma Community and Dribble for inspiration.

User Flow

My initial thought was to create a flow that provides a split between driver and riders in the app. However, during the design stage, I figured this was unnecessary as the screens can change in the app depending on the roles i.e driver or rider.

The flow is as below:


Over the course of the design process, I occasionally asked my friends to have a look and provide quick verbal feedback, but also had my supervisor have a look and give insights. I would then iterate depending on the feedback I would get from each stage. I also shared the prototype link with my supervisor to enable him to navigate the app by himself.

Below is a screenshot of some of the notes I put down:

Trust and Security on the App

Apps like Uber, Airbnb and others who are in the ride sharing industry have often implemented a user review system to provide a sense of trust and security to riders and drivers. I thought that model works well and decided to adopt it for ShareTrans too.

The app takes advantage of driver reviews, 5-star for drivers/passengers and Facebook integration. It’s worth noting that since ShareTrans combines both driver and passenger sides; one can either be a driver, a passenger or both, so the ratings are split to accommodate this dynamic.

The following screenshots show the review system on the app:

The Facebook Integration is optional and is only there to provide a link to the user’s Facebook profile. By doing the linking, the user also confirms their identity and account ownership. The following screens show this feature:

The Facebook integration and the reviews system are just to provide users with enough information for them to make an informed decision on whose ride they want to get on.

Driver Vetting

Share Trans ensures that before one is allowed to post a ride, they are vetted as per the jurisdiction of the location of operation. The current KYC might not cover everything but are adaptable as per the requirements of the authorities. The vetting is necessary to prevent cases of fraudulent drivers or even assault.

See below the screens implementing the vetting:

Rider Vetting

There isn’t rider vetting as it it would limit registration into the app. It’s however important to note that we still care about rider safety and that’s why we have the two way rating and reporting.

Rider – Driver Matching

In ShareTrans, the driver gets the final say on the matching. Once a driver lists a ride, a match is made to passengers who are plying the same route. After the match is made and all seats taken, all overlapping offers and requests are cancelled to prevent spamming.

The journey is as shown below:

Rider finds a posted ride —> Rider requests ride in-app —> Rider awaits for a response from driver —> Driver accepts request and match is made. 

The advantage of this is that drivers are incentivized to check and respond to requests quickly or risk losing potential riders to other drivers. Riders are also motivated to act quickly when finding a ride due to the first come first serve nature of the flow.


The app seeks to respect and keep private information from those who have no business seeing it. As such, the driver personal details like email and car details are hidden and only shown to riders once a match is made. See below:


In this version of the app, the payment is purely cash, either through physical cash or mobile money. These transactions are not handled in the app. The beta version will be completely free on roll-out as we work on more payment methods and revenue model.

The Prototype

Please find the prototype linked here

Conclusions and Recommendation

This app seeks to not only provide a solution, but also create an opportunity for the members of the community to make money.  This model promises to be more sustainable and scalable than having to bear the burden of procuring cars for these rides.

In future, I hope to roll out this work into the community, and have it tested by more people. Also work on  a monetization model to help cover development and maintenance costs.

This project has been on for about four months, with the first two months being for research and feasibility studies, and the last two for design and development. The current COVID-19 pandemic has made it difficult to access physical testers, and research respondents. However, I resorted to do both virtually using video conferencing tools like Google Meet and Zoom. I also had weekly meetings with my supervisor, Ruti, to ensure everything was on track. Special thanks to him.

The beta version of the app is currently in development and will be rolled out for testing when it’s ready. If there is any android app developer who finds this interesting, please reach out to me so we pull this off together.

Leave a Reply

Your email address will not be published. Required fields are marked *