Inspiration

Only two of our five group members would consider themselves "educated" on trading / stocks & shares, which was a slight issue. We brainstormed ideas for two hours and yes, this is the best we could come up with. Someone mentioned fish in those first two hours so here we are. You were in fact lucky not to be blessed with a fish movement simulation correlated with stock prices for maximum investment returns (yes, we genuinely thought about correlating trout movements with Amazon stock returns).

What it does

FishFolio is a fast-paced arcade-style competitive trading simulation game. Throughout the game, several graphs representing the returns of a stock (like the fish nutrition tycoon Phyto Feast Delights) are displayed in sequence to the players. After each section of the graph is displayed to the players, they have 20 seconds to try and predict how the stock price will move and make trades (buying or selling shares) or hold. After 20 seconds, the next section of the graph is revealed and the players have 20 more seconds to make their trades, etc. The game ends after all sections of the returns graph (five in total) have been displayed and players have run out of time to make their trades. Each player's score is then calculated based on their remaining balance, the shares they hold, and the price of a share at the end of the simulation. The player with the highest score (i.e., the highest PnL, assuming that all positions are liquidated at the end of the simulation) wins.

How we built it

We decided on a Flask web application (for some reason that has yet to be fully grasped), with a very typical HTML/CSS/JS and Python framework. We used web sockets to facilitate the multiplayer system. Believe it or not, the data we used for the simulation is actual historical data. However, since we found it difficult to access the financials of "Coral Cuisine Crunchies" and "Tidal Treat Temptations", we were left to work with data from smaller companies like Amazon, Microsoft, and Pfeizer, which we then conveniently renamed. (No way??). And it was really tough but we decided not to slap in a gen AI module with sentiment analysis and nuclear fusion, which would have seriously hindered the quality of the investment insights provided by our platform.

Challenges we ran into

All of it. Coming up with an idea that did not make us appear like obsessive and slightly deranged marine life enthusiasts was definitely the toughest part. Otherwise, we generally found it difficult to assign tasks since we definitely knew what we were doing. Setting up the web sockets for multiplayer ended up being much harder than anticipated despite Oli locking in so and almost doing the impossible. And in the wise words of Newbury: "I forgot how finicky CSS was (why did I agree to do the front-end)". We also loved dealing with merge conflicts (quick s/o to the Git extraordinaire Ethan who manhandled some dysfunctional branches after consuming 8 pints and hopping off a coach at 3 am).

Accomplishments that we're proud of

We finished the single player version, much to our surprise given the shaky start. Despite our best efforts we were unable to get a fully functional multiplayer version. We were meant to include some totally not fake news to guide the players in trying to predict how the stock price would move, but we won't talk about that. Also Ethan really wanted the fish to die which was slightly weird but he fixed my branch so I'll let it pass. The working features of the app ended up looking reasonably polished in Newbury's humble opinion (I quote), and we did have a badass logo, courtesy of Lucia. There will certainly be plenty of laughs to remember and some interesting commit messages to look back on, most of which I am not necessarily proud of.

What we learned

Very valuable advice: don't be like us, i.e., don't spend two hours deciding on an actual idea. Also don't hyper fixate on fish as your main gimmick, unless you really like fish. You might want to avoid leaving the people allergic to version control alone overnight, that's just asking for trouble.

What's next for FishFolio

Please don't let us work on this thing any longer, we might actually start trying to predict stock prices based on the movement of trout populations. In the future we may actually try to get the multiplayer working correctly if session cookies decide to cooperate. In other news we're now pursuing our own ventures in fish nutrition, and are excited to announce the launch of Plankton Platters in 2025.

Also you won't believe this but we actually got sponsored within these 24 hours, go check out the promo video it's actually fire.

Share this project:

Updates