Inspiration
This project was inspired by Charles Morris, who planned a similar project about a year ago. Most of the cognitive thought for the project and the vision are derivative from his vision from late 2017.
What it does
The application takes in a user's portfolio file with appropriate funds and weights. It then provides analysis on the portfolio through meaningful graphs and charts, along with recommendations for funds to replace other funds in your portfolio.
How we built it
Building it was all through Microsoft Azure, in our own subscription for our hackathon project. We utilized Azure App Service to deploy our Angular frontend. For our API calls, we used Node-based Javascript Azure Serverless Function Apps to serve content through from our Database, and Azure SQL for our database store. We programmatically load funds into our database, and serve the content through our API through secured database connections. The backend calls performant Azure Serverless Functions in Python to compute a user's portfolio holdings in real time, as they request them.
Challenges we ran into
Dealing with scope was a big problem, as we wanted to convey all of our idea without implementing things like a login manager, every single chart, and dynamic behavior for all computations, as those are out of scope for a 48-hour hackathon. Therefore, we exposed our process and the work that we did, and used a lot of programmatic endpoints to serve content, and abstracted the ones we didn't have time for.
Accomplishments that we're proud of
- Building the end to end first pass POC for Portfolio Solutions
- Building our entire app cloud-native
- Deploying the app on the cloud
- Having most of the UI completely functional in Angular
- Using performant serverless functions
- Expressing the user experience delightfully through what we've built
- Scalable Database Schema
- Scalable functions that can serve an indefinite number of people for this app, load balancing is implicit and scales to what the load is
- This app would cost about $300/month to run, slightly more with a heavy load/lots of users
- Portfolio comparator algorithm recommending Putnam funds and Putnam funds improving the portfolio, also suggesting dropping worse funds
- Modular design allowing for more and custom charts scalably
What we learned
- Building apps in 48 hours is really hard
- The only way we got remotely as far as we did was with PaaS services
- This app could be productionalized in 2-3 weeks of 5 peoples' time
- The value this project could be immense for Putnam
- Building something with strong intent and good practices can send a project very far
What's next for Portfolio Solutions
- Finishing the backend
- Securing endpoints more thoroughly
- Getting business users' input on the overall experience and using the app
- Loading in the entire universe of funds
- Building out the analytical monitoring pipeline to mine users' data
- Building analyses on users' data to see what funds people are using, and why
Log in or sign up for Devpost to join the conversation.