Theres are two things that we desire in life, money and safety. We would like to maximize both, and in order to maximize safety we have to minimize risk.
What it does
The app allows users to build their own portfolios of stocks and determine the amount of risk associated with each security. One of the guiding principles of our application is that risk is not inherently bad. Risk, when well-managed and decisions are made well, leads to the biggest rewards. The app allows users to make wise choices surrounding their money and assets, by accessing measurements of risk in a quick and convenient interface for end users.
How we built it
Challenges we ran into
The first issue we encountered was data access. There are lots of APIs available for financial data, however many of them are behind paywalls or required manual human intervention to provide us with access. Fortunately, we found datasets which worked for us, even though our final data source meant that we needed to write a separate API in Python. In addition, there were a number of React patterns and habits that we've picked up that may not be best practice or have direct equivalents in React Native. There were a number of libraries for charts that are compatible with React DOM but not React Native. Finally, we had a number of issues with developer environments for React Native. A difference in Node version, global package installs, and other trivial typos led to a significant number of hours lost to debugging, when the solution was a single dependency downgrade or autocorrect away.
Accomplishments that we're proud of
We wrote and deployed 2 APIs, built a mobile app, and worked around a number of technical difficulties along the way.
What we learned
For a lot of us, this was our first brush with mobile development and React Native, and/or backend development. We utilized tools new to us such as FastAPI and Poetry that make it faster and easier to write Python web applications.
Due to time constraints, we were unable to build all desired features, however the biggest feature we wanted to implement was support for other assets, including bonds and real estate.