About the project
Papercut is a multiplayer crypto paper-trading challenge that turns investing practice into something social, low-stakes, and reflective. Friends compete with $1 million in virtual capital, build portfolios from live market data, and receive a private AI-generated debrief once the challenge ends. The goal is not to tell people what to buy; it is to help them understand the habits behind the decisions they already made.
Inspiration
I was inspired by the gap between traditional investing education and the way people actually learn. Financial content is often passive: someone watches a video, reads a thread, or follows a tip, but never gets feedback on their own reasoning. Meanwhile, many people avoid experimenting altogether because losing real money is a painful way to learn. Trust me, I know.
Paper-trading apps solve the risk problem, but most stop at the simulation. Papercut adds the missing feedback loop. By making a challenge competitive and social, it gives friends a reason to return each day. By making the AI coach reflective rather than prescriptive, it turns completed trades into concrete lessons about sizing, concentration, exits, and emotional decision-making.
What it does
Papercut lets players create or join a private trading room, invite friends with a shareable code, and compete with $1 million of virtual capital. Players can browse crypto assets, place simulated buy and sell orders, track holdings and performance, and compare their results on a room leaderboard.
The AI coach stays quiet while the challenge is active. After a room closes, it reviews each player’s simulated order history, portfolio composition, cash balance, and performance. It then creates a private debrief with observed patterns, a concise lesson, and a final trading-personality recap. The experience is deliberately educational: it does not provide real-time signals, price predictions, or personalized financial advice.
How I built it
I built Papercut as a full-stack Next.js application with React and TypeScript. The interface uses Tailwind CSS, shadcn/ui-style components, Framer Motion for interaction and motion, and Recharts for portfolio visualizations.
Supabase provides authentication, Postgres storage, and the multiplayer data model for rooms, players, trades, holdings, debriefs, and market-price snapshots. Server-side routes handle room lifecycle actions, simulated trades, market data, portfolio calculations, and coach generation. The portfolio layer reconstructs a player’s cash, holdings, cost basis, value, and P&L from the trade record and saved price data.
For the coaching layer, Papercut sends structured, server-side context—not a vague chat prompt—to a language model: the completed room status, trades, portfolio metrics, holdings, and saved debrief history. The response is normalized into a strict shape before it is stored and rendered. I also added a deterministic fallback coach so the product remains useful if the model provider is unavailable or returns malformed output.
Challenges I ran into
The hardest challenge was making simulated performance trustworthy. A leaderboard is only useful if trades, holdings, and portfolio valuation agree with one another, so I had to carefully connect executed orders with market-price snapshots and keep the resulting calculations consistent over time.
Multiplayer state introduced another layer of complexity. Rooms need clear host and member roles, invite flows, start and close states, and private data boundaries so a player can see their own trade history and debrief without exposing it to everyone else.
The AI feature required equally deliberate guardrails. It would have been easy to build a trading chatbot, but that would undermine the educational purpose and blur into financial advice. I designed the coach to speak only after a challenge is complete, ground every observation in the player’s own simulated data, and focus on reflection rather than recommendations. Ensuring responses stay structured, specific, and safe—and still offering a useful fallback—was a core engineering and product challenge.
Accomplishments that I'm proud of
- Turning a familiar paper-trading concept into a full learning loop: compete, trade, reflect, and improve.
- Building a private, data-grounded AI coach that explains observed behavior without acting as a buy/sell signal generator.
- Creating a complete multiplayer flow, from account creation and room invites to trading, rankings, debriefs, and an end-of-challenge recap.
- Designing the system so a model outage does not break the learning experience; Papercut can still generate a meaningful deterministic debrief.
- Shipping a cohesive product experience that makes a complex financial workflow feel approachable for students, early-career professionals, and friend groups.
What I learned
I learned that AI is most useful in this product when it is constrained by real, structured data. The coach becomes more credible when it can reference a player’s actual trade behavior and portfolio context instead of producing generic finance advice.
I also learned that a good product boundary is a feature, not a limitation. Keeping the coach passive during active trading makes the experience safer and more educational: it encourages people to form their own thesis first, then learn from the outcome afterward.
On the engineering side, I learned how much product quality depends on data integrity. Modeling room lifecycle, private player records, price snapshots, and portfolio calculations carefully was just as important as the visual interface or AI integration.
What's next for Papercut
Next, I want to make the challenge loop even more engaging and useful. That includes more resilient price ingestion, richer portfolio and rank history, scheduled end-of-day debriefs, and clearer progress tracking across multiple rooms. I also want to expand the social layer with shareable recap cards, optional public rooms, and lightweight educational challenges that reward thoughtful process—not only portfolio return.
Longer term, Papercut can become a practical sandbox for financial literacy: a place where people can test ideas with friends, see the consequences of their decisions without risking real money, and build a more disciplined investing process over time.
Built With
- codex
- coingecko-api
- coinmarketcap
- github
- gpt-5.6
- next.js
- nvidia-nim
- pl/pgsql
- supabase
- terra
- vercel
Log in or sign up for Devpost to join the conversation.