hcm-vision2.png

Codepath - Building SplitIt

Sep 2016 - Dec 2016

Course overview

In Fall 2016 I enrolled myself into CodePath's free, intensive 8-week long Swift bootcamp for designers who are interested in coding. The course was 8 weeks long and each week was comprised of a 2-hour lecture on the first day and a 2-hour lab time on another night to reinforce what we just learned. There were weekly assignments in the first 5 weeks, and also a final group project presentation at the end of the class.

The weekly assignments (see my GitHub page for full assignments) focused on recreating views, navigation, transitions, and animations of some popular apps by coding in Swift on top of pre-made assets. It started with basic tasks like adding hotspot links, up to code-heavy customizations such as creating custom transitions between different screens. These exercises helped our class build the foundation for making their own app in the final project.

Final project

Around the fifth week of the class we were grouped together in teams of 3 with the focus of working together on a final project. Since all of us in the team were interested in finance we decided to create a bill splitting app called SplitIt. Though there are apps like 'Splitwise' available, the reason we decided to work on building this app was to not only improve the user experience but to also create an app that we could try to add to the 'App Store'.

We created an app to split bill and enable interpersonal money exchange with a simple UX and streamlined UI. Our goal was to strip out the unnecessary elements, create a modern experience and orient interactions towards people.

Impact and Reflection

Working on the final project was great, and the best part was that my team was selected as the 1st runners-up during our final demo day. In fact, I feel that the 8-week long class was not only challenging but also exciting at the same time. It also helped me feel more at ease with prototyping my designs. However, if you were to ask me how I plan to incorporate my learnings in my current job role, I would not have a clear answer to that. I think learning to code is definitely empowering and useful but with the access to so many prototyping tools out there (like Principle, Flinto, etc.) that one could achieve the similar results regarding the interactions and animations. And while it is good to learn Swift to build your own app, I think that it would involve not only building the app, but also ensuring that it is performant, scalable and secure. Hence, I believe that while I have some basic understanding of how to build apps, I still have some time to go before I can truly build and ship my own.