In Fall 2012 I enrolled in the Full-time Training in Anaheim (FTTA), a 2-year Bible truth and church service training program based in Anaheim, CA. As part of my program, I was assigned to various services, one of which was the Attendance Project, an internally developed and maintained web application used by all the students and training administrators here at the FTTA.
Initially, the project was a poorly maintained PHP project that was mostly spaghetti code, and the team had no formal development process. The project had been poorly architected from the beginning, and ballooned over many years as a result of non-technical oversight. I drafted a proposal [pdf] to revamp, firstly, the development process [docx], and secondly, the stack and architecture of the project, that is, a full rewrite of the application.
As a result, a formal development process was constructed, with spec, design, coding standards, testing, and code review. Furthermore, we decided to rewrite the entire application, introducing an MVC framework (Django), a better version control system (Git + GitLab), and other industry-standard best practices.
We are currently in the process of the rewrite. I currently serve simultaneously as a product manager, defining and driving our development process, organizing and prioritizing tasks and modules, and meeting with users and training administrators to gather feedback and requirements; as a lead developer, architecting and implementing a central module of the project; and as a sysadmin, setting up our internal Git server and issue tracker, deploying a Django web application, and keeping the server running.
During my winter interim of 2012, I decided use my free time to put together a project I had been wanting to build for awhile: an API for hymnal.net. Hymnal.net is an online collection of hymns that I use often; I have often thought about various projects or utilities that could be built if the data on the site was machine-readable (case in point, many people have built scrapers to display the data in mobile appls and the like). However, instead of writing a scraper for every project that needed the hymn data, I thought I might as well go ahead and write an (unofficial) JSON API and take care of the problem once-for-all.
Along the way, I was able to teach myself some new technologies: this was my first real project using Ruby (being more of a Python diehard), and I also got a chance to try the wonderful Sinatra microframework, as well as some useful Ruby libraries (e.g. Nokogiri). Lastly, I learned how to deploy on Heroku. Fun stuff. You can check out the hymnalAPI project on GitHub or live at: hymnalapi.herokuapp.com
A side project I worked on during my first term of the FTTA. I came up with the idea of having wallet-sized tracts a few years ago, thinking it would be nice to always have gospel materials on hand. Initial mockups didn't seem to work so well though, so the concept was dropped.
Picking it up again, I decided on a simple format of having one verse and one footnote (from the Recovery Version), making sure to leave some space for contact info to be written. This ended up working well, though it still required a lot of kerning to get some text to fit properly. A very fun and rewarding project.
Song of Songs 6:1-2 | Front / Back
Romans 12:2 | Front / Back
Romans 8:6 | Front / Back
Phillipians 3:8 | Front / Back
Phillipians 3:10 | Front / Back
Ensemble: on Instagram
Another side project I worked on in my first term were gospel hymn tracts. In the FTTA, we go out regularly to preach the gospel. One approach we use to sing hymns and spiritual songs to people. After doing this a few times, my impression was that people enjoyed our singing, but they did not receive much content from it.
My idea was to create gospel tracts that had hymn lyrics on them. The idea was to give the tract to people, sing to them, and that way they could follow along with what we were singing. Below the hymn would be some verses or ministry materials that would show how the hymn comes from the Bible and relates to our experience, and could serve as a launchpad for us to speak something of the gospel (or for them to read later).
Gospel Hymn Tracts [PDF] (5 pages)
In my last semester at Cal, my friends Jesse Chen, Nelson Hoang, and I decided to enter a hackathon hosted by the UC Berkeley Student Technology Council (STC). Our app, which we hacked together in a few hours after learning Node.JS, placed third at the competition.
Later that semester, we decided to enter the STC's Web App Competition and invited Mark Wei to join our team. Over the course of a month, we rewrote our entire app and submitted it to the competition, winning both the Grand Prize and the People's Choice Award (link).
You can see our app live at: calchat.net and our competition slide deck here: CalChat Presentation
Worked with my excellent teammates Jesse Chen, Woosuk Kim, Edmond Lo, and Mark Wei on this project for our Software Engineering (CS169) class. Our idea was to develop a text messaging client for blind users, that took morse code as input. Our unique take on the problem was to use the volume rocker buttons as the sole input method (both for navigation and text entry), to avoid the confusion and difficulty typically presented to blind users by touchscreens, which provide little to no tactile feedback.
You can check the source code for our Android client here:Blind.ly Messenger
Here are some of mockups and presentations I put together for our applogo [PNG] flowchart [PNG] main [PNG] popup [PNG] compose [PNG] message body [PNG] message list [PNG] conversation [PNG] final presentation [PDF]
Worked on both an Android and a Plex app for the Global Action Forum. Below are some mockups of the Android appVideo Categories [PNG] Videos List [PNG] Info Tab [PNG] Points Tab [PNG] Redeem Points Tab [PNG] Redeem Points Screen [PNG]
In Fall of 2010, I was recruited by a Berkeley alum who was bootstrapping his startup in the area to be a Product Manager. The team was small, around 5 people, mostly composed of students and alums from Cal. Originally, the founder's idea had to do with traffic safety, and building an app that would record and send incident reports to the police for drunk-drivers, red-light violations, etc. When that didn't work out, I suggested an idea revolving around location-based messaging, and a geo-enabled bulletin board, which we pivoted to working on.
As a "Product Manager" I took care of defining the scope, the aim, the use cases of the product, and also worked with the team to prioritize the feature set we would ship. I also oversaw all the visual design, as well as all the aspects of the user experience; this means I also did most of the asset work for our iPhone client, and lots and lots of sketches and flows. Below are a few screenshots of a recent version of the app:Inbox [PNG] Compose [PNG] Message View [PNG]
In my freshman year of college (fall 2008), I was approached by a Cal alumnus over facebook, who was recruiting students to help out with his new startup. The idea behind Gloing was to bring the relatively new idea of location-based social networking to the college campuses. I spent half a year working with a small team of 3 before the project as ultimately scrapped. I was responsible for anything that was needed, but mainly worked in UI/UX, creating mockups and user-flows, and offering direction and advice from a student user's perspective.
One of my first assignments was to design a new logo for the product. Below are a few drafts and the final designDraft 1 [JPG] Draft 2 [JPG] Draft 3 [JPG] Final Draft [PNG]
I also did a lot of mockups for new features I designed or interface changes to improve usability.Status Update [JPG] Status Update Flow [JPG] Timeline [JPG] User Window [JPG]
In college, I became involved with a Christian fellowship called Christians on Campus. Since I had background in print design, I was drafted to help with some design responsbilities which included several flyers and a new club t-shirt. Below are a few of said flyers and t-shirt drafts.
These informational flyers were primarily used in our welcome meetings as handouts to the attendees.Fall 2009 Welcome Week Calendar [JPG] Fall 2010 Welcome Meeting Handout [JPG] Spring 2011 Celebration Meeting Hymn Sheet [PDF]
A few drafts (to illustrate the design process) and the final designDraft 1 [JPG] Draft 2 [JPG] Draft 3 [JPG] Draft 4 [JPG] Final Mockup [JPG] Printed [JPG]
In February of 2013, I spent two weeks volunteering with Christians on Campus at the University of Central Oklahoma (UCO) and Oklahoma State University (OSU). Part of my work there involved making some new flyers for the welcome events at UCO.Information Handout [PDF] Sign up Sheet [PDF]
In my senior year of high school, I served as the Design Head for the school newspaper, the Saratoga Falcon. That year, the paper was awarded a Gold Crown by the Columbia Scholastic Press Association, one of the highest distinctions for scholastic journalism at the national level. My work for the paper which included a complete redesign of the masthead, a redefinition of typographic style, and issue-to-issue layout design, is reflected in a few of our best issues linked below.September 21 [PDF] December 7 [PDF] May 2 [PDF] Senior Magazine [PDF]