While our team wanted to make a financial app, only two of our members really knew how the stock market worked.

What it does

The app guides users through the market by letting the app make small investment decisions based on past transactions. For each purchase a user makes, a small, additional, percentage will be charged to their account and be used to buy stock from the merchant company. This way, new users will be able to make low-risk investments in companies they are already familiar with while building up a portfolio that reflects their daily use.

The app also tries to guide users through many difficult or confusing financial terms. Financial vocabulary is highlighted in blue, and can be tapped to display a definition.

How we built it

The app is built using Swift and connects to a backend server written in Node.js, Express.js, and MongoDB. The stack is hosted on an Elastic Beanstalk instance on AWS and also features a small, frontend web tool build using Angularjs that allows users to manage purchases.

Challenges we ran into

Stock market data was definitely challenging to find. Many APIs gave us data that partially met our requirements and in the end, we had to use three different stock market APIs. Joining together an entire stock portfolio required many API calls and was difficult to manage many concurrent connections. On top of that, some of the APIs limited our number of requests per second, making it difficult to get certain information.

Accomplishments that we're proud of

We are proud of how we were able to visualize stock market data inside the app and how we were able to manage live data within several stock market API calls as well as the Nessie API.

What we learned

We learned a lot about the challenges of dealing with the stock market, especially the large amounts of data that accompanied it. Also, there was a lot of strange things that were happening with Javascript that we had to learn through including concurrent function calls and JS scope rules

What's next for Enrich

There are a ton of features we would still love to add. More comprehensive tools and graphs to analyze stocks, easier ways to cash out of different stocks, more cohesive source for stock market information including live streaming costs.

Share this project: