Women Coders Win IoT Hackathon with Last Minute App Idea
Adapt, Iterate Quickly and Win Hackathons…
In this round of our Featured Developer series, we introduce you to Team Scavenger Hunt. This team of women grew from a Women Who Code Meetup called Android Atelier in Denver, CO. At our Boulder, CO IoT Hackathon, they worked through various ideas, APIs, and iterations to develop the Scavenger Hunt app for kids.
Going to sleep without any clear plans, and nearing the noon hour of the second hackathon day, the team was finally able to take an idea, sprint to the finish, and create a winning app earning the prizes for Best Overall App, Best App from a Women-led Team, and Best Use of Harman APIs. Pulling a final app together in that short period of time is impressive, but even more so considering this was only the team’s second hackathon, and the first where they competed in-person. This team has a great track record, taking home prizes in both hacks where they have participated.
The Scavenger Hunt app is a children’s game designed to teach preliterate children the names of objects in their environment. The app leverages Near Field Communication (NFC) Tags, Harman REST API, Android SDK, and the IBM Watson Text-to-Speech Engine. Watch the video of the teams experience embedded below.
Meet Team Scavenger Hunt:
- Name: Joan Siebenaler
- Location: Boulder, CO
- Occupation: Electrical Engineer/3D/2D Graphics Animator/Software Dev
- Name: Sepideh Miller
- Location: Boulder, CO
- Occupation: Electrical Engineer/Software Dev
- Twitter: @sepzilla
What prompted you to attend the AT&T Developer Program Hackathon in Boulder, CO?
We are members of a self-organized Android study group called Android Atelier started by Chiu-Ki Chan through the national Meetup group Women Who Code. At our first study group meeting, we decided to create an app for a financial literacy online hackathon through DevPost.com (formerly ChallengePost.org). Our Lunch In app entry can be found here on DevPost. Shortly after we found out we won our first hackathon together, Chiu-Ki Chan mentioned to the group that she heard about the AT&T IoT Hackathon and asked if anyone else was interested in attending to play with some cool hardware. Only three other participants from the group (Sepideh, Joan, and Myself) were interested, so we signed up without any expectations, we just figured we’d have fun playing with some cool hardware.
How did you come up with the idea for the Scavenger Hunt App?
We had an idea coming into the hackathon of doing a “beat band” using the Myo armbands where we would create a beat machine that took input from different movements from multiple connected Myo input sources. Each person would contribute to the beat through a different gesture. However, we were disappointed to realize that the Myo’s were not going to be as reliable as we needed them to be for our project so we scrapped that idea and went back to the drawing board. After brainstorming ideas, we came up with a new idea of using the IBM Watson Visual Recognition service to identify common household objects for a children’s learning app. The idea was that a kid could take photos of random objects and be told what they are. However, Watson’s image recognition was still very much in beta, and we could not get it to reliably identify objects in isolation the way we were hoping we could. Again, we were back at square one and it was getting close to the end of the night. At around 11:00pm. we went home brainstormed some more through a Google Hangout chat and ended up going to bed without any clear plans.
It wasn’t until close to noon the next morning that we actually had a real plan that we all agreed on and decided it’s pretty much this or nothing. The idea was to use NFC tags that one of our team members happened to have at home to identify objects rather than IBM Watson. Knowing we didn’t have much time left, we quickly got to work. One of our main goals was to use the Harman API because we really wanted a chance at winning the Harman speakers prize for Best Use of Harman APIs! We also wanted to use IBM Watson in some form because we were fascinated by the AI API’s that were available. We thought why not use the IBM Watson Text-to-Speech engine to voice instructions and information for this children scavenger hunt game since young kids who are learning the names of objects likely couldn’t read yet. This way the child can explore and learn independently. Of course, we used the Harman API to play the Watson generated audio files that were uploaded to a remote server. We had a few rough areas in the app where things weren’t quite as perfect and “solid” as we would have liked, but they were working pretty well and we were able to do a successful demonstration.
What is the purpose of the Scavenger Hunt app?
To teach pre-literate children about the objects around them. It allows the parent to set the name and attach an NFC tag to an item they wish to be identified or discoverable by the child. The child simply needs to grab the tagged item and touch it to an Android device with NFC capabilities that has the Scavenger Hunt app installed.
How does your Scavenger Hunt app work?
A tag is paired with the device that is running our app. Each NFC tag has an ID to allow us to identify the “item.” The app takes user input allowing each tag to be assigned a name that corresponds with the object that the tag is affixed to. The game is initiated by pressing the start button on the app, at which point it connects to Harman Kardon Omni 10 or 20 speakers using Harman’s REST API to play the audio (generated by IBM Watson’s Text-to-Speech engine) that instructs the child to go find a particular object.
- If the child brings back a tagged object that isn’t the correct object, the app will tell the child that it isn’t the correct object.
- If the child scans the correct object, the child will be told they chose the correct object. For example, the app will say “Go find the duck” and will let the child know either “that is not a duck” or “good job, you found the duck.”
Once the child has correctly identified all of the objects, the game ends.
What technologies did you use in the Scavenger Hunt app?
The Scavenger Hunt application uses NFC Tags, Harman REST API, Android SDK, and the IBM Watson Text-to-Speech Engine.
See Team Scavenger Hunt in action:
How important is it to for companies like AT&T to hold hackathons for developers?
I think hackathons are a great way to share technologies and come up with a lot of great, demonstrable ideas in a short amount of time. Some really great products and apps were born from hackathons.
How did you form your team? Was it set before you arrived or did you pull it together on site?
We were already a team before we arrived, but were not opposed to adding additional team members at the hack.
What type of development background do team members have?
Two of us had pretty advanced software development backgrounds. Two of us were advanced in other areas of technology that were more along the lines of embedded development and hardware.
What do you love about developing mobile apps?
I love being able to develop something that can immediately get into the hands of hundreds, thousands, even millions of users. I love being able to create software that is meaningful, and can impact the lives of others whether providing entertainment or a useful tool to make lives easier, safer, or more enriching.
What technologies are you most passionate about? Did those passions help shape the app you created?
They absolutely did. Personally, the tech that I’m most interested in is Android development, wearable devices and things in the IoT category. I’d like to see cheap prosthetics that the user can print at home and begin using right away, and virtual reality software that can educate and allow people to “travel” the world and have experiences they may not otherwise have. I’d like to see advancement in mental health treatment through technology such as games to treat ADD/ADHD in youth rather than prescribing them powerful stimulant drugs. While these are things that may not happen tomorrow, being able to marry technology with human advancement is always something I’ll advocate for.
Preferred coding languages?
Any language that gets the job done, but as an Android developer I am most comfortable in Java. As a Unity developer, I opt for C# and as an embedded developer, C. I can’t speak for my cohorts, but I’d make a good guess they have similar preferences. The one who does graphics is most comfortable in C and C++
Favorite application development tool, and why you like it?
While I prefer some IDE’s to others, but if I had the choice — any advanced IDE. I can’t imagine trying to write software without one!
What’s next? Any future plans for the Scavenger Hunt app or building new apps?
We plan to refine the Scavenger Hunt app and make it so that it will also work with Android’s Text-to-Speech Engine and play through the mobile device’s speakers. We may even allow Bluetooth pairing to broaden external speaker compatibility.
This Featured Developer series spotlights members of our community to help provide insight into how people come together to ideate and develop applications. See other Featured Developers in our Developer Showcase.