Inspiration

We were inspired by the premise of Shark Tank. For the uninitiated, Shark Tank is a show where entrepreneurs make pitches to a group of investors in hopes of securing funds. However, we wanted to explore a different side of investing: understanding financial risk and making informed lending decisions.

Financial literacy is increasingly important, yet many of the concepts involved in credit assessment, lending, and risk management can only be learned through trial and error. As it is difficult to get on the ground learning these concepts with real dollars, we decided we could create a digital experience that helps simulate realistic lending scenarios.

And thus, Shrimp Tank was born to allow players to learn to evaluate borrowers, negotiate loans, and make financial decisions while competing against fellow shrimp investors.

What it does

Shrimp Tank is an interactive, loan-based adaptation of Shark Tank that puts players in the role of an investor evaluating fictional entrepreneurs modeled from the CRS database.

Each entrepreneur enters the Tank with a business pitch and a requested loan. Players must ask thoughtful questions to uncover important information about the entrepreneur’s financial situation, business credibility, and ability to repay the loan. The pitch is only part of the whole picture, and players must gauge potential risks and decide whether their investment is worthwhile.

Throughout the session, fellow shrimp investors participate in the discussion, ask their own questions and make competing loan offers. All players can negotiate loan terms, submit offers, or walk away from unfavorable deals. A multiplayer mode across different devices increases competition in the tank and allows people to test strategies in an evolving landscape of competition.

At the conclusion of the session, the game evaluates the borrowers through the Five Cs of Credit: Character, Capacity, Capital, Collateral, and Conditions. The player is then provided a scorecard reflecting their lending decisions, the creditworthiness of the entrepreneurs, and estimated financial outcomes.

How we built it

Shrimp Tank consists of multiple different components that are built with different technologies:

The frontend was built using Three.js, TypeScript, and Vite, to create the low-poly 3D environment inspired by the videos from creator ForlornCreature. We create a couple of camera angles and animations in Three.js to mimic the common storyboard in the Shark Tank TV show.

Our backend uses Python, FastAPI, and SpacetimeDB to coordinate the game sessions and manage the conversations. It also evaluate loan offers and calculates the final financial outcomes. We also incorporate SpacetimeDB to persist game sessions and conversation histories, which allow the application to maintain state throughout the negotiation process. To create more dynamic dialogue, each shrimp investor uses xAI’s Grok API. To maintain consistency, the dialogue from each investor is grounded in predefined financial information through structured prompts, while lending evaluation and calculations are deterministically handled by the backend.

The financial data used for each borrower comes from Cred Reporting Services (CRS) sandbox credit profiles. This allows us to create fictional scenarios for each borrow and adequately representing different levels of credit risk. The data from the sandbox is accessed through the MCP server that was set up and we were able to interpret some company profile characteristics based on the credit history of the individual.

Challenges we ran into

  • Keeping dialogue lively without making turns feel slow: Separate model requests for every investor added latency. We changed the flow to request a structured exchange in one call, then display the saved dialogue in sync with the conversation and speech bubbles.
  • Making multiplayer state consistent: Initially, clients shared the same player controls and capital. We added separate player seats, individual balances and scorecards, and server-side turn checks while keeping the negotiation shared.
  • Clarifying what is persistent: SpacetimeDB stores complete session snapshots and indexed conversation rows. The app currently restores the transcript from the session snapshot; that way, even if you were to temporarily disconnect from a browser session, you can still resume at a different time within around 2 hours of gameplay.

Accomplishments that we're proud of

We’re happy with how we were able to create a game from scratch with multiple different components in the span of two days. We wanted to take the opportunity to explore the different technologies and free services offered to hackers during this short timeframe and were able to try out new products that we wouldn’t have been able to otherwise. We were able to learn about: Three.js, Grok (both CLI and API), spacetime DB, FastAPI, and Vite. Shrimp Tank allowed us to explore how to build an interactive 3D sequence in Three.js by utilizing multiple different camera angles. We also built custom personalities for each AI agent and equipped them with underwriting and deal making rules. We were then able to later branch out into adding support for multiplayer games where players can have separate seats, capital, and scorecards. This required several modifications to the game state and logic in order to achieve this. We were also able to create a readable conversation transcript alongside in-world speech bubbles in order to provide an immersive experience for the players by streaming AI model responses in a readable pace and load-balancing the AI calls to minimize the likelihood of encountering server-side errors when making a significant amount of API calls via exponential timeout backoff.

What we learned

Prior to this hackathon, we had very little knowledge of how credit lending works and so we wanted to de-mystify the process of doing so in a fun manner. We learned a lot on how the 5 C’s are very critical to an investor’s judgment of how much to loan out to a founder. While learning about how underwriting worked, we also developed better understanding of how to best stream LLM logic and integrate multiple tech stacks, platforms, (e.g. FastAPI, Grok API, spacetime DB) all into one game seamlessly.

What's next for Shrimp Tank

  • Test on physical phones and improve touch controls, transcript scrolling, and 3D performance.
  • Improve multiplayer identity, reconnection, and support for hosting beyond a single FastAPI process.
  • Refine the scoring rubric and make its assumptions easier to understand and evaluate.
  • Expand the fictional borrower scenarios and gather feedback from players and underwriting practitioners.

Built With

Share this project:

Updates

Submission history