Hello, I'm Dennis!
I'm the team lead of team "The Locals". We created an app called "Guidify", which is a platform that allows users to create, share and listen audio travel guides (more details can be viewed below this section!). As a team lead, my main task is to draw the high level roadmap of the project for both technical and non technical objectives, and delegate them to the members of the team so they can work on the details of the tasks with their own autonomy. Other than being the team lead, I also assume the roles of AI developer, backend developer and frontend developer.
What is Guidify?
As mentioned above, Guidify is a mobile application where users can record audio travel guides using their own voices, and share it so that other users can listen to them.
Navigation features
One thing that separates Guidify from other audio travel guides applications is that Guidify supports navigating users to the destinations. This means that when user sets a destination, they don't need to quit the app and go to apps like Google Maps in order to help them reach the destinations, they can just do it in-app instead. Upon arrival at the destinations, Guidify will allow the users to play the audio travel guides.
DIY features
Another reason why Guidify is different than the competitors is that Guidify allows users to "stitch" multiple travel guides together to become an itinerary. Where other apps out there provide the ability to share "itineraries", we allow users to share travel guides. This way, we allow flexibility for users to arrange their own set of destinations instead of giving them a fixed set of locations which they can't change and therefore may not be able to complete all the destinations due to time constraint.
Travel Guide filtering AI
One of the more interesting things that we have for Guidify is an NLP system that would help us filter bad contents. Simply explained, this is like the equivalent of the AI system that Meta uses to filter contents on Instagram. For more information about how this works, head down to the NLP developer role section where I explain the technical stuffs and the data behind it!
Backend Development
You might be wondering, why the waiter image above? Simply put, as a backend developer, my job is to create artificial waiters to deliver the orders from the kitchen to the diners. In software, a database is more or less equivalent to that of the kitchen and a web browser / a phone is more or less equivalent to that of the diners. What about the artificial waiters? In software, this is basically a loop that will check every now and then whether there's an order (or a "request" in software terms) from the client. The orders (or food) in this case is equivalent to the data that we need to display in the user interface, which includes things such as the travel guides, itineraries, user info, etc.
UI & Frontend Development
As the frontend engineer & core UI designer in the team, I built most of the user interface that Guidify currently has (including the implementation of Google Maps and Markers, but excluding the navigation part). I also led a major user interface revamp from the previous UI design. If I had to pick 1 role that I spent the most time on, it would be this role. The work I have done spanned from the CSS design of the screens to more complex stuffs such as managing the navigation states between the screens and managing authentication from the client-side.
AI Development
As the AI developer of the team, I built the travel guide filtering AI tool that would make content moderation scalable. The work the I done was end-to-end, meaning, I was responsible with the data mining, data cleaning and processing, and training of the model. Currently the AI still has a dependency on a third-party API, which is Google Speech-to-Text. How it works is that Guidify will send the audio format fo the API and will get the text format in return. Guidify will then feed in the text format into the travel guide filtering AI model.