When working on a recent project and interviewing students, we got to know our student body at Williams better—their preferences, dreams and life challenges. But what really hit home was when one of our team members mentioned how she was FaceTiming a friend, who casually mentioned that her bank account had only five dollars and twenty-nine cents left. Her spending drew from her freedom and her desire to spend the money she’d earned — financial independence. But this meant spontaneous purchases, from clothing items to air tickets to visit friends. We want to help students like her, who are balancing the freedom of a work study and the consuming desire to spend, adjust to college life in terms of expenditures. We want to help prepare them for their steps beyond college, because nowhere does housing, travel and food cost only five dollars and twenty-nine cents.
What it does
SavingsU allows users to set and manage their personal budget. Users input their available funds and/or monthly income, a category, which can range from recurring bills such as health insurance/rent, to nonessentials such as extra travel/clothing. Then, they designate the amounts they wish to spend on the categories relevant to them. By helping students set goals and understand their own finances, SavingsU not only provides concepts in accounting but it also instills in them optimal spending habits. The overarching goal for the app is to provide a platform for college students to be able to set saving goals and provide helpful tips on how to reach them.
How we built it
Java and BlueJ, Swift (initially and barely)
Challenges we ran into
This is our entire team's first hackathon, and we all came in not really knowing what to expect. Our experience in application and website development ranges from limited to none, so deciding the lesser of two unknowns in itself was challenging. We first investigated Swift and iOS app development, but decided that the learning curve was too steep for a 36 hour endeavor. Ultimately, we decided to code in Java using BlueJ, since having a functional application felt more important than using a standard platform.
Accomplishments that we're proud of
We conceived an idea for an application, developed appropriate data structures, and ended with functional code! Over half of our members were not familiar with object-oriented programming, and yet we were able to use what we knew to delegate tasks ranging from user interface to overall design to nitty-gritty coding. We are also pleased that we were able to recognize what we could realistically accomplish, given our inexperience. As noted above, we originally planned to tackle an iOS Swift app, but realized that this was not the time to learn a new language. Instead, we pooled together what we knew and worked with that.
What we learned
We’re an eclectic group of five girls, and our different backgrounds in computer science are the least of it. We spoke different languages—three of us took the same introductory class in C (our first computer science class) and two of us were more experienced in Java. But we realized that this is exactly what first hackathons are about—having jumbled and messy but an overall fun, learning experience. We experienced over and over how simultaneously frustrating and rewarding coding is, as well as how valuable teamwork truly is. Between team coding and pseudocoding, discussing what colors look the most ‘financial’, and strategically planning which workshops we each should attend to maximize intake of potentially useful information, we learned that our different corners and ridges in ideas and contributions made our team fit snugly, like a finished puzzle.
What's next for SavingsU
Once we have a better grasp on Swift, we hope to implement the basic functions we originally wrote in Java as a fully persistent iOS app. We would also like to add tips that would help users reach their savings goals, and develop a way to visualize spending habits that would feel intuitive and insightful. Other things that we are considering are daily reminders to log purchases and weekly reminders to check spending, as well as cautionary notifications when the user approaches and/or exceeds a limit, reminding them that they’re at or close to their spending limit for a particular category. In addition, we want to test the functional app on the target audience (first on our home campus, then branching out) and polish the user interface and experience with their suggestions in mind.