I like hackathons. And one of the main reasons I like them is the limited time period the organizers enforce. I take particular satisfaction in delivering production-quality and relatively large apps in less than 24 hours. I can do this because a large portion of the work is done with the help of my free hackathon starter kit: the OutSystems platform.
This hackathon was called Govathon. The city of Atlanta brought together struggling government officials and developers that could craft solutions to their problems. I was one of these developers. Following is my timeline with some short videos that show off how I built the app.
Friday, 7:00 PM: Getting Started
The organizers of Govathon took 30 minutes to present their challenges to the nine teams. Teams assembled themselves around one or several similar ideas. I wanted to pick a project that was useful and would have a chance of being used by the city of Atlanta, and I was intrigued by what Angela Patrick from the building permits office had to say.
Friday, 8:30 PM: A Mobile App to Access Government Data
Solving the problem Angela defined would lead to better customer service. People typically call the office to get an updated status on their building permits. There is a web portal but users could not find it easily and were often working at remote locations during the day. Angela wanted a mobile app so people could check their status without having to call the office.
OutSystems has a fully functional version of their platform in the cloud that is great for personal projects. It is free forever and as long as you don’t need enterprise-grade features, it is more than enough -- that's why it's my go-to hackathon starter setup. I registered and had my development environment up and running in minutes.
Friday, 9:00 pm -- Integrating with Excel
I was given an Excel document with the 60,000 building permits from the last few years, and I quickly created a database inside the OutSystems platform that held all the data.
Friday, 9:45 PM: The First Mobile UI
Based on the data, I quickly scaffolded an initial prototype of the user interface using the standard ‘London theme’ that comes with the platform.
Friday, 10:30 PM: Sleep
Saturday, 8:30 AM: Multi-channel Apps: Developing a Text Interface with Twilio
While getting dressed, I thought about the real-use scenario of this app. Adoption rates of mobile apps are ridiculously low if the real usage scenario is misunderstood. I wondered if a texting interface to query the database would yield better adoption rates. Twilio to the rescue.
Twilio is a telephony service, that among other things, enables apps to send and receive text messages. I integrated Twilio with my app using the platform's REST integrations.
Saturday, 9:30 AM: Twilio Integration with a Service Callback
I created a Twilio account, which gave me a phone number. Any text message sent to that phone number generated a callback into my app. Check out how quickly I did it.
Saturday, 10:00 AM: Publishing and Running The App
This is how it works. Send a text message (SMS) to the phone number, then the app fetches the data from the database and sends the result back by text.
Saturday, 10:30 AM: Live Integration with The Permit Database
I was done. I headed down to Atlanta Workforce Development headquarters and had some time before I was to demo and present my app at 3:00 PM. But I could not resist enhancing the experience. The permit database is supported by Accela, and they have a great public REST API. Mark Headd was nice enough to send me a couple of request/response examples that I fed into the OutSystems platform. Ten minutes later, I was able to connect my texting app to live data for building permits of Atlanta.
Saturday, 3:00 PM: Victory
Eloisa Klementich, co-founder of Govathon, announced the winners. Citing innovation and growth as a primary objective of the city, she was pleased to name my Building Permitting app as the winner of the fourth annual Govathon.
Now residents and businesses can check the status of their building permit applications in real time.
RAD tools make exceptional hackathon starter kits. OutSystems' free personal environment allowed me to deliver a working SMS app with live integration in less than 24 hours - with sleep included. :)