Quick update: We’ve taken stockbets down and are giving 100% of our time an energy to Vest. However, Miguel and I decided to open-source the codebase. While there are a bunch of things that we did differently — and better — for Vest, this is a nice example of a React SPA powered by a Flask API server with a distributed computation using celery. We hope that some community members get value of out it 🤟
After my last executive role at a SME lending fintech I was hungry to do something that would get me back into coding and in front of users as quickly as possible. My goal was to “make something that people want” that I could write myself, fund at a modest price point, and, ideally, quickly bootstrap into a profitable business.
Stuck at home during lockdowns, millions of people started retail trading for the first time in 2020. I was one of them, confidently articulating a fantastically incorrect prediction about the stock market on April 7 🤦♂️. As I spoke with friends about their trading I began to notice that for many of them this is a deeply social, competitive activity. Traders’ first love is making money, but many also enjoy being more right than their friends while validating their beliefs about the future. For evidence of this look no further than r/wallstreetbets, the enormously popular reddit thread with a Wolf of Wall Street-meets-4Chan ethos. I hypothesized that traders would enjoy something way less toxic and more interactive: a competitive trading platform where traders and market-curious people alike could socially engage around markets similarly to how they do today with fantasy sports. I floated the idea with a cohort of pilot users and they responded with “yes, this is definitely something I’d use.” A week after my ill-fated stock market prediction I started hacking the MVP.
I quickly realized that while I could code up the backend, basic frontend components, and manage the app’s deployment myself, and I was hopeless with design and CSS. At that point I brought in Miguel Arroyo as a cofounder on the project. Miguel has the rare ability to design beautifully while shipping lots of production code, and it’s been a pleasure working with him. If you find that things look nice and work well that’s probably because of him. If you find something broken, it’s probably because of me. After 6 months of iterating with our pilot cohort — a process that included over 20 hours of UX interviews — we’re proud to release stockbets.io to the public today :)
A quick tour
You start at the login screen. You can use a Google or Facebook account for OAuth, or create a username and password the old-fashioned way:
Signing in you’ll pick your username and agree to our terms and conditions: we keep your data strictly private, and we don’t broker actual securities trades or offer investment advice.
When you sign in for the first time we’ll create a single player game against leading stock market indexes to get you started. Here’s what the platform looks like once you’ve played a few games:
Active games are in the top-left section of the board. New game invitations and pending games that you’ve decided to join are on the right. Scrolling down, you can look back at your past games.
The leaderboard shows how you compare to everybody else on the platform who has finished at least one game in the past 3 months. Simple portfolio return isn’t a great solution for ranking players, since they join the platform at different times and play games over different intervals. We thought about a scoring solution that solves this, and settled on the Elo rating system. The basic idea is that you start out with 1,000 points and win or lose points based on where you place in your games. You get more points for beating players with a much higher ranking than you, and less for beating up on beginners. We consider the market indexes to be “players,” too, constantly pitting the wisdom of the crowd against the insights each user. The “intro game” that you sign in with is a freebie, and doesn’t affect your starting score.
You can add friends who are already on the platform or invite friends who haven’t already signed up via email:
When you’re ready to create a game you have three options: playing against a private group of friends, playing against the market, and a public “pick-up style” game that’s visible to all users on the platform. These games kick off once the invite window expires or after10 players have jumped in:
Here’s what a game looks like once you’ve clicked into a card:
“The Field” chart shows up-to-date standings, along with how these have evolved over time. The order form is built to look exactly like it does on a real brokerage account for place “long” trades. We use live market data from the Investor Exchange, and order fulfillment is only on during market hours. Ergonomically, the platform is basically identical to a real trading account. The order performance table provides a detailed breakdown of each purchase order, including realized/unrealized P&L figures to help inform the timing of your selling decisions:
If you want to see what other players are doing you can use the “sneak” feature. Our users have enjoyed this, but in our more competitive games it’s also been controversial — we may make it an optional game setting in the future:
The balances chart shows your total holdings of each stock. The table is the most useful asset here: the line chart should probably be a pie chart instead:
Finally, we’ve embedded the concept of fantasy league-style wagers in the app, with a payouts table that declares the game winner at the end:
That completes the tour. If you like what you’ve seen and are ready to jump in, head on over to stockbets.io and get started 🤗 Stick around if you’d like my thoughts on the fantasy finance business and how we’re evolving our mission as a team.
The business case (it’s complicated)
At this point a skeptical veteran of the fintech industry or professional investor is going to start rolling her eyes and asking hard questions:
- “Trading + social sounds cool, but startups have trying and failing for 20 years to make this work. What are you doing to do differently?”
- “Investors just want to trade. A platform like this isn’t ever going to be more than a curiosity.”
- “What’s the TAM? There’s like no money in this business.”
These are all good questions. For me a big learning in this process has been to ask the hard questions earlier, at the ideation phase, before jumping into coding. This allows you to be more objective when puzzling out your business model: you’re not already invested in the thing that you’ve just spent a couple months building. Here are a few of the answers that I came up with once we picked our heads up, started speaking with investors, and diligencing our monetization options:
- Fantasy trading platforms don’t have a hard time with user adoption… — Investopedia’s market simulator and the fantasy finance / education app Invstr each have over 1M active users. Wealthfront started off as the fantasy trading app KaChing, which built a user base of over 300,000 in months back in the early 2000's.
- …they have a hard time with monetization. — Our initial thought about how to monetize stockbets was via fantasy league-style betting: players buy in at the beginning of the game, and winners get cashed out minus a platform fee at the end. We thought that the hardest thing here was going to be compliance with local gambling regulations in the different markets we are in, but the regulatory challenge is actually even more formidable. When the Dodd-Frank act passed in 2010 it struck the portions of the original Securities and Exchange Act that allowed retail investors to structure over-the-counter swap trades, and required the vast majority of these contracts to be SEC-/CFTC-approved, listed on a national exchange, and cleared at an SEC-regulated clearing agency. Any money that changes hands in any way that is even remotely tied to something happening in the real economy (e.g. fantasy stock portfolios based on real price data) is considered a swap/security-based-swap, and subject to incredibly strict regulation. The retail market for bespoke swaps is essentially dead in the U.S., which congress did on purpose after mortgage backed securities blew up the economy during the Great Financial Crisis. Forcerank LLC, The Hollywood Exchange, StockBattle, and Sand Hill Exchange were all revenue-generating businesses that that died on this hill.
- Sooner or later, your best users are going to want to buy actual stocks — When they do, they’ll have an increasingly hard time splitting their attention between whatever it is your doing, and the market that they have real money in.
- Other approaches to monetization aren’t that promising — You can try to get a bunch of eyeballs on your site and sell ads. Or juice up the gamified elements of the platform and sell power-ups or premium features. Or try to get in on the market for market content — a pretty small business unless you’re Bloomberg. None of these paths pointed to an exciting market opportunity, and we didn’t really want to build those kinds of businesses.
As I chewed on this problem I kept coming back to two questions: how easily can we acquire users, and how easily can we monetize them? Breaking that down into four quadrants:
- Hard to acquire users, hard to monetize: Not a business. Stop wasting your time.
- Easy to acquire users, easy to monetize: Rocket ship to capitalist paradise.
- Hard to acquire users, easy to monetize: Bootstrappable lifestyle business. Over the long-term can become a big company.
- Easy to acquire users, hard to monetize: VC-backed company. Maybe. How big is the potential market? Does the path toward monetization get more compelling at scale?
After a lot of thought, I started seeing stockbets.io as business type #4. I also studied Michael Seibel’s comments regarding how urgent, and how frequent is your user’s problem? In stockbets.io’s case the frequency is probably reasonably high: socially engaged people who trade think and talk about this stuff quite a lot. The urgency isn’t really there, though: without our competitive fantasy trading app our users would be just fine. You need something to increase the sense of urgency.
Which brings me to the big reveal on how to make a business out of this kind of platform: build a FINRA-member broker-dealer and trade actual stocks. Build your social / gamified layer over those real trades, get lots of users, and monetize the way every other broker-dealer does — with interest on deposits and sales of order flow data. This is probably legal, but don’t take my word for it. You’ve heard of those regulators who play around and don’t take their job seriously, right? The SEC isn’t one of those regulators. With enough user adoption and high quality market content you can probably also charge for a premium experience with extra features, game modes, market insights, etc.
I actually think this could be a really interesting and fun business. While it’s the next logical step for stockbets.io, it’s not going to be the next step for Miguel and I. We’re leaving the site up, but turning our attention to an even more ambitious project…
In our UX interviews we heard a few things from users:
- Our users’ experiences on stockbets.io helped give them the confidence to invest in real life
- They’d like to have market content and data embedded within the app so that they’re not constantly scrolling outside to visit Yahoo! Finance.
- They’d like notifications of important events and updates to positions.
Most importantly, our Mexican users consistently said “the options that we have in the market today suck. Can you guys just build something for investing in U.S. markets here in Mexico?” Mexico City is the community where we live and work. Facts on the ground in Mexico are representative regionally: Mexican, Brazilian, and Colombian households save $500bn — $600bn year, but the vast majority of them are either in cash or zero-interest savings accounts, missing out on the benefits of asset appreciation and compound interest, while being exposed to local currency risk.
As we debated the next steps for stockbets.io we asked ourselves what we are doing and why. What are we willing to commit the next 10 years of our careers to? The new course we’re charting with our technology toward a bigger, more ambitious vision of being an ally to Latin American savers has a deep sense of “rightness” to it. We don’t just want to help people play and speculate: we want to be their allies in building their future.
I’ll be writing more in the coming weeks about the new project, but for now go start a game on stockbets.io! We’ve had a great time with it, and it’s rewarding to see users on there every day placing trades, learning, and competing. If you’re thinking about starting a business involving fantasy finance or swaps send me a note at aaron [at] stockbets [dot] io. Would love to be helpful if I can. See you out there.
(Quick thanks to all the folks who hopped on the phone with me as we worked on this, including at the SEC and from a couple of the companies mentioned above. While I’m guarding your privacy, if you’re reading this you know who you are and I’m grateful for your time 🙏. Thank you Matheus for basically teaching me everything I know about AWS deployments. Thanks to José Ángel for all your generous pro-bono hacking on S3 infra, selenium, and dividend payments.)