Inspiration

This is my first public hackathon and I wanted to solve at-least one such problem which I or someone around me faced. I went through the APIs or data available for the hackathon and PredictHQ's events data attracted me the most due to real world and futuristic information. It clicked my mind that if I somehow could knew the crowded places in near future that too around me, it could be a great marketing opportunity. Now the challenge was what type of audience to target and what type of marketing to follow to combat the problem faced by the targeted audience. I brainstormed this question for a while and asked friends who owned businesses around what kind of problems they faced in their business.

Finally after a couple of days of discussion with and listening to people, I had my target audience that is "local businesses" and the problem I wanted to solve for them which was "outdoor marketing". MarketO solves this problem. With reliable future data available at your convenience via an app, you can find the right time, place and resources to market your business.

What it does

Here are the features of MarketO Android App -:

  • Find upcoming events of various categories near you
  • Filter event results according to a specific category
  • Get location, start date, end date, attendance and other relevant information related to the event.
  • Opens directions to the any event via Google maps with a click of a button.
  • Find number of nearby hoardings, restaurants, hotels and taxi stands near the event directly on Google Map.

How I built it

I implemented the PredictHQ APIs directly in my Android App using all the necessary keys/ authorisation etc as the SDK was not directly available for Android. The app is built in Kotlin with Jetpack Compose framework used for UI.

Challenges I ran into

There was no direct SDKs available for PredictHQ or AWS for smooth authorisation so the process of finding all the relevant keys, tokens and making them work for Android was troublesome. After trying and failing many times, I finally found out the AWS documentation for implementing APIs directly on Android and took reference from babbel's okhttp-aws-signer repo to implement the AWS V4 signing algorithm and was then able to make API calls directly via client. One technical issue I faced during loading the list was a lot of noticeable lag/screen freeze due to the big size of the list. So I implemented pagination for better User experience which loads 10 items initially and if your scroll to bottom, it loads further 10 items and so on till are no further items in the list.

One very personal problem I faced was that I was hospitalised for a week due to a medical problem and I had only 2 days to complete the work I had planned for 10 days. So I had to trim down few features such as adding search a location, adding and viewing bookmarks, better UI for details etc.

Accomplishments that I am proud of

I am proud that even after so many personal and technical challenges during the period, I am finally able to make a submission for my first public hackathon event in which I participated all alone. Secondly I am an Android dev by profession but due to this hackathon I gained a good amount of design, UI and UX related knowledge and leveraged the power of canva to make my own design, splash screen and location dialog animation.

What I learned

Firstly, I learnt how to build an app from ground zero literally without any idea, design or contracts. It was like building a startup. Just had the right data and a right will to solve a problem. I learnt that you may not always need a big team to design an app. If leveraged the right tools correctly, learning other aspects of developing a good software such as design, documentation etc can be done an individual contributor as well. Most importantly, I learned how to build an app within such a narrow time constraint, it was fun and worth it. Lastly I learnt that perfection is the enemy of progress. Initially I focused too much on perfection, but I realised it was hampering my progress. Imperfect working app built in a week is better than a perfect app built in 3 months. There is always a room for improvement.

What's next for MarketO

I have planned many new things for MarketO which I had to skip due to my sickness in hackathon, some of which are -:

  1. Add an option to search for any location and view upcoming events near that location.
  2. Add more categories.
  3. Add a feature of bookmarking and viewing bookmarked events.
  4. Improve the UI which shows the event details.
  5. In-App solution for nearby hoardings, billboards etc with contact details to remove greater dependency on Google maps and improve user experience.
  6. An about page educating users about various methods of outdoor advertising.
  7. Enhancing onboarding experience.

Built With

Share this project:

Updates