An app for finding correlation findings with user-inputted stocks. Whether the user is researching individual stock symbols or comparing multiple together, Sticker provides insight on similar behavior with other stocks, complementary industries, and individual metrics. It is designed to be a simplistic app for offering positively correlated, negatively correlated, and uncorrelated stocks from a user-provided stock.
Under The Hood
Sticker is an SPA (single page app) using SolidJS's built-in primitives and router components to create a unified interface that is near native speed. SolidJS's built-in utilities are very similar to React's, and it allowed this app to have asynchronous fetches that trigger Suspense primitives, available stock symbols fetching on instantiation, and localStorage data that synchronizes with a global state context system. At the time of writing, the client-side JS bundles sum to 1.722kB, for a Lighthouse speed score of 99. Deployment of the app, alongside all of the backend data the app is entirely AWS-based in a serverless fashion. Backend data is served through a Lambda function to API Gateway to serve custom correlation data from DynamoDB.
The structure consistents of two pages fed to the SPA router: 'index' and 'compare'. Index is the homepage to set the comparing stock (and show the cached stock if used before). The compare page is show the chart, and compare a secondary stock.
This project is actually my first time working on a web development project collaboratively on a team with thanks to the Propel Projects organization. I was designated as the front-end engineer/developer amongst a team of four to execute this project within an eight week time period. My previous experiences have always included wearing multiple hats to finish my project, so it was incredibly insightful to reside within a designated role while still participating in all facets of the project.
Becuase this was a team project, I had a UX designer create everything about the design, and my responsibility was to recreate the design from the Figma files. I used a grid layout that collapsed on mobile for the compare page, and used the benefit of a modular component framework to create scoped styles.
Tested using a private Chrome window on the homepage for ignoring any extensions and script complexity with frameworks that would disrupt the score
The first two weeks of the project were hindered by a common issue with any sotware projects: scope. It's paramount to define the distinction, use case, and the essential M.V.P. of the product. As the topic of stock trading can become complex and convaluted very easily, we as a team decided to hone in on our particular use case which was based in contrast of the industry. Defining our exact use case was our first obstacle that took quite a bit of time and management to narrow down.