How a Rails Webapp We Built Can Help the Homeless

Code For The Kingdom Hackathon: Sharing Thoughts

Chip Dong Lim
8 min readMar 28, 2014

The Pitch

“Yeah we will build it with a lot of Red Bull”, pitched Brandon about one of the challenges proposed by sponsor Vision House’s — with the theme “Helping the Homeless”.

Laughter filled the hall.

On the other hand, I was interested with Liam’s idea, who pitched to visualize the information of Bible versus and songs using FlowingData’s framework. I am in love with the demo, so I went to talk to Liam who flew all the way from Florida, representing OneHope. Then I went to talk to “the homeless guy”(Sorry Brandon that is a joke), because I was impressed that we can tackle a big problem and validate the idea directly with the homeless wandering around Pioneer Square.

I was in struggle to choose between the two. Earlier I pitched as well, starting also with the attitude “just throwing ideas out there”. Around last October one morning when I was laying in my bed trying to wake up and stretched my arm, I dislocated my right shoulder. I was sleeping in the upper double bunk bed and had no way to reach my phone on the table when I was in pain. I couldn’t even sit up on the bed.

Luckily my housemate Chow managed to send me to the hospital with Zipcar, since calling ambulance would be expensive. After that incident I started to think “if that was difficult for me as a young adult to get up, what happened to old people if they slip and fall at home alone?” I had this idea of building the voice recognition app that would call the hospital if accident happens, and ambulance can come over by using the GPS coordinates sent. I pitched the idea, and Jon refuted my idea saying LifeAlert.com already exists. I agree with him there is no need to reinvent the wheel, but I should probably get myself one.

Happenings Behind The Scene

I made up my mind eventually. Jim, Chris, Andre and Ramin seem to be very welcoming when I approached them, and we were probably the earliest to form a team and started working! My first task was to create a logo and identity for the project in overall. The first night has been brainstorming and came up with keywords like shelters and vision and tried to chain them together and form a name. It didn’t work out well until Saturday noon when I had a sudden inspiration to call it “Oikos”, which means house and family in ancient Greek (οἶκος). So I started to draw a house icon in Illustrator, and then decided that probably half of the logo should be dashed lines, signifying the transition from being homeless to moving in a shelter. I nailed down the color scheme later and added a layer of color on top of it. We cut it to become “Ikos”, because Brandon thought Oikos Yogurt already exists, and we agreed on the the logo does not necessarily have to mean “O” . The entire design process is shown in the animated GIF below:

The Problem and The Problems

After getting the logo done, I worked primarily on the landing page that leads to the form and provides some information on what the website is for. Ramin and Andre, recent graduates from Rails Bootcamp by Code Fellows, worked on the backend of the form website using Ruby on Rails. One of the problems they faced was to figure out the nested loops. Jim and Chris, worked on the very backend of the site — the database. The problem we are trying to solve is that the homeless have to fill out a long form, 4 to 5 pages, in order to find a shelter to be relocated. Our idea is to eliminate the paper forms, because it is a tedious process for the homeless to fill in. Besides, the Ruby on Rails website form we are building can work cross platforms, regardless of tablets, mobile phones, or laptops, so that the staffs from different non-profit organizations, or anyone who wants to volunteer can walk in the street and help homeless filling in the information and find shelter. Furthermore, the website has provider login to allow sponsors to know about the information immediately once the electronic form has been submitted and provide the shelter if there is any vacancy.

Filling out paper form is not as convenient and mobile as carrying a tablet for the non-profit organization volunteers.

Besides going back and forth from paper form to codes, Jim and Chris had a hard time building the database. Chris is the backend guy who built the MySQL database. Jim was responsible for integrating the MySQL and writing web API service to glue the front-end to backend. We also discussed about the problem with Internet connection because it would not be user friendly if someone fills out a long form and after they press “submit” there is a connection problem. So we came out with the solution on saving the form constantly once users click to the next section, and the output is in JSON. Jim also wrote the code that maps the C# object model to JSON.

My initial idea of splitting form into even smaller sections, which could possibly be done using Javascript, but failed to get executed because we were running out of time.

Ramin and Andre worked and went back by midnight, but by 2am on Sunday Jim and I were trying to troubleshoot because SQL returned null. I spent the whole night trying to install Rails on my Macbook, because the github code has not been pushed to Heroku yet and I am trying to run it locally. Gem pg installation especially gives me a headache. I could not work on CSS styling the form until Sunday noon when Ramin and Andre get the form done. On Sunday we were fighting against time, trying to get everything done by 1pm because judges would come around. My initial idea of injecting Javascript in order to split the form to even smaller sections(as shown in the above mockup) could not be implemented because we were running out of time.

But we pulled it through. The database was integrated successfully with the Rails code. Brandon went up stage to present our final delivery. The Q&A session went well. However I thought we could not win any prizes since it is competitive with projects like MinMap, which I think it’s beautifully done. Surprisingly our team won $1000 for People’s Choice Awards in the end.

Prizes make a good ending, but the hackathon is more than that. Jim told me he is not regretting staying when he has planned to go fishing on Sunday. I had been to 7 hackathons before that, but Code For The Kingdom was my first hackathon tackling big problems with a Christian perspective. I made friends over the weekend, did an amazing project in a short amount of time, and I am glad I attended.

Landing page of Ikos, available at ikosfinder.org.
Ikos Webapp is responsive and works cross-platform.
Electronic form coded in Ruby on Rails (before CSS Styling).
Form for submission after CSS styling.
Jim working on database integration.
Chris created the MySQL database.
Ramin the Rails guy.
Andre’s laptop is running on Ubuntu, his terminal is in Japanese language.
Brainstorming and To-Do-List on the board.
Homeless outside of Impact Hub at Pioneer Square lining up for food.
Fabulous Saturday lunch
Executive Director & Co-Founder of Vision House, Susan Camerer was testing the website in her mobile phone, which proved to be responsive.
Susan and Brandon Camerer: Mother & Son.
Jim and Chris were having discussion with Ramin and Andre about integrating the database into Ruby on Rails.
Andre redbull-ing.
Brandon was pitching to the judges for first round before the finals.
Final pitch
Brandon was telling the audience that Ramin and Andre were outside of the building validating the idea with the homeless.
Team photo, from left to right: Susan, Brandon, Chip(me), Andre, Ramin, Jim and Chris
Ramin was so excited to hold up the $1000 check!
What I saw in the morning after I woke up sleeping for 2 hours on the couch.

--

--

Chip Dong Lim

Design @GrabSG · Interaction Design Alum @UW Seattle · Passionate about #Healthcare · Winner of @AIGAdesign & @UXAwards · http://madebychip.com