We wanted to build an app that would provide essential services that people need daily. Looking at the competition, it was clear that the app must provide a combination of services that was unique yet important. We thought about what young adults need the most in their daily life and what suits the modern lifestyle. So we went with three things that people would benefit from, chats, money transfers and commute. The challenge was to provide these services in a unique yet effective way and create a fantastic user experience.
What it does
Raven is an Android app that allows you to chat with friends, lend and borrow money from those you trust, find places to visit and share cab rides with friends, all from one single app.
How we built it
We designed the prototype and mockups for the app using Figma. For building the actual mobile app we used Flutter. We used Firebase for user authentication using phone number and Firestore as our database. To integrate Rapyd APIs into our app, we created a Node.js server written in Typescript which served as a bridge layer between the Rapyd APIs and our mobile app. We used APIs under Rapyd Wallet and Rapyd Collect. For integrating maps and places, we used Google Places API and Google Directions API.
Challenges we ran into
The biggest challenge we ran into was that none of us had ever made a mobile app using this tech stack. We hadn't used Flutter and Node.js with Typescript before. The second challenge we faced was using real-time data storage for chats. Firebase made that easy for us! Another challenge we faced was modelling the database structure to fit the complex entities in our app and forming relations between them in a way that allowed for complex queries to be made.
Accomplishments that we're proud of
We learned completely new languages, namely Dart (front-end) and Typescript (back-end). With some familiarity with Dart, we dived into Flutter right from ground zero and ended up building Raven in all its glory, in less than a month!
What we learned
This hackathon provided us with an opportunity to learn how to build a production ready app. We learned new technologies and implemented them. We learned how to work as a team. This was great practice in using public APIs and it has made us more comfortable in reading docs and finding solutions online. We went through the whole software development lifecycle from design to code and testing and deployment all in the span of 3 weeks which was a lot of fun.
What's next for Raven
Keeping in mind the idea of a global super app, we would add more third party services into Raven. Besides just cab bookings, we would integrate food ordering, and package delivery services. We’d also like to further improve the UX by adding more features and tweaking existing ones.