Product engineer · Búzios, Brazil · remote
I build betting exchanges and the tools traders run on them.
For four years I built and ran the product side of Bolsa de Aposta, a Brazilian betting exchange, and the bots, backtests, trading software and AI agents its traders used. Brazil banned fixed-odds betting in September 2026, so I'm looking for the next exchange, prediction market or trading team to build for.
| Selection | Figure | What it measures |
|---|---|---|
| Bolsa de Aposta | BRL 7.6B | matched in 2026 |
| Traders | 69k | on Bolsa in 2026 |
| Trading software | BRL 231M | matched in Aug 2026 |
| Automated bots | 13.8M | bets placed by the bots |
| Event creator | BRL 19.5M | on made-up matches |
| Backtests | 86k | in under 3 months |
| Data platform | ~123 req/s | on average, 10.6M a day |
| AI agents | ~15k | tool calls a day |
Companies I've worked with
The exchange
Bolsa de Aposta · 5 Brazilian brands
The product layer of Bolsa de Aposta, one of Brazil's betting exchanges: the web exchange, the white-label shell that hosts it, the client library every brand shares and the operator back office.
- matched on Bolsa, Jan–Sep 2026
- BRL 7.6B
- matched on Bolsa, Jan–Sep 2026
- matched in August alone
- BRL 893M
- matched in August alone
- traders on Bolsa in 2026
- 69k
- traders on Bolsa in 2026
- offers placed a day
- ~271k
- offers placed a day
What I built
- The exchange front end for five brands (Bolsa de Aposta, Matchbook BR, BetBra, FulltBet, BetEspecial). On Bolsa de Aposta alone, 69k traders placed BRL 7.6B of bets through it in 2026.
- Ladder, one-click betting, cashout by market and by runner, dutching, multiples, odds×volume charts and live stats, built for in-play traders placing ~271k offers a day.
- A library shared by every brand's front end — bet slip, open bets, liability, P&L and cashout maths — serving ~30k active traders a month on Bolsa alone.
- The operator back office for all five brands: custom markets and Super Odds with liquidity alerts, live theming, and an AI agent that answers business questions over the exchange database.
Next.js · React · TypeScript · React Query · PostgreSQL · Redis



Trading software
Layback X · web, desktop, Polymarket
A ladder terminal for professional traders on Betfair and Bolsa de Aposta, on the web and as a signed desktop app. It drove roughly a quarter of the exchange's matched volume.
- matched in Aug 2026
- BRL 231M
- matched in Aug 2026
- of the exchange's matched volume
- ~24%
- of the exchange's matched volume
- desktop releases
- 114
- desktop releases
What I built
- Ladder with drag-to-bet, stake drag and drop, Stop Green / Stop Red, keyboard shortcuts and multi-market views — 3.4M bets placed through it in August 2026 alone.
- An offers WebSocket for Bolsa de Aposta with 1 s heartbeats, sticky HTTP fallback after three missed beats, silent reconnects and a 15 s snapshot reconciliation.
- Desktop builds for Windows, macOS (notarised, x64 and arm64) and Linux with a self-hosted update channel — 114 releases.
- A Polymarket version of the same ladder, so exchange traders can use prediction markets without learning a new tool.
Next.js · Electron · MobX · WebSockets · Betfair Stream API · Stripe · Mercado Pago

Automated trading
Layback Bot · Bolsa de Aposta, Betfair, Polymarket
A rules-based bot platform: traders describe entries and exits with live stats, odds and custom indicators, and the engines place and manage the orders. Same product on three venues.
- bets placed by the bots (Bolsa + Betfair)
- 13.8M
- bets placed by the bots (Bolsa + Betfair)
- matched by the bots
- BRL 187M
- matched by the bots
What I built
- The web app where traders created more than 150k bots: bot builder, live operations, reports by odds, minute and liquidity, and stake-management simulations.
- Integrations with Bolsa de Aposta, Betfair's regulated Brazilian exchange (vendor OAuth, order reconciliation and recovery) and Polymarket's CLOB with a builder code.
- A marketplace where traders rent strategies to each other, paid by Pix with a platform split.
- More than 37k bots running at the same time, placing ~71k bets a day on average, with peaks above 125k.
Next.js · Node.js · Prisma · PostgreSQL · Redis · DigitalOcean · Vercel



Backtesting
Layback Backtest · paid SaaS
Traders test a bot's exact filters against minute-by-minute history before risking money. The rule: if the bot would enter on a minute, the backtest enters on the same minute. The new version launched in July 2026 and ran 86k backtests in under three months.
- backtests run since July 2026
- 86k
- backtests run since July 2026
- traders using the new version
- 4.1k
- traders using the new version
- backtests on the first version, 2022–2025
- 215k
- backtests on the first version, 2022–2025
- users of the first version
- 9.7k
- users of the first version
What I built
- The filter engine ported from the live bot, kept at parity by tests, so a strategy moves between backtest and bot without translation.
- A resumable worker queue on Postgres (SKIP LOCKED claims, monthly segments, batch checkpoints) that survives crashes mid-run.
- Pay-per-month-of-data pricing with Pix top-ups, anti-extraction limits and one-click creation of a live bot from a result.
Next.js · Prisma (two datasources) · PostgreSQL · DigitalOcean workers · Mercado Pago

Event creator & pricing
Synthetic matches on Bolsa de Aposta
A sportsbook product where customers build a match that doesn't exist — the home side of one real game against the away side of another — and bet on it. The hard part is pricing it fairly and settling it on real results. I designed and built it end to end: since July 2025, 17.1k customers have wagered BRL 19.5M on matches that never happened.
- wagered since July 2025
- BRL 19.5M
- wagered since July 2025
- bets placed
- 382k
- bets placed
- customers
- 17.1k
- customers
- wagered in the best month
- BRL 3.3M
- wagered in the best month
What I built
- A fair-price model: de-vigged over/under lines plus a Poisson tail from 0 to 12 goals, combined into a 13×13 score matrix for 1X2 and totals.
- Six layers of margin (base, odds band, team, league, opponent, exposure) and stake limits per event, customer and selection.
- The fair probability of every bet stored privately to measure margin and CLV, never shown to the customer.
- Settlement into the exchange wallet with a retrying state machine, and a shadow hedge that maps the house position to real team-total markets.
Bun · Hono · Prisma · PostgreSQL · Redis

AI agents
In production since Aug 2026
I made the bot and backtest usable by the trader's own AI. Customers connect Claude or ChatGPT and ask it to read their reports, find better filters and create bots — through a remote MCP server with its own OAuth 2.1 server.
- tool calls a day
- ~15k
- tool calls a day
- traders using it daily
- ~150
- traders using it daily
What I built
- OAuth 2.1 authorization server: dynamic client registration, PKCE, rotating refresh tokens with reuse detection, consent on top of the exchange session.
- 50+ tools answering ~15k calls a day from ~150 traders, over the same query layer as the app, with per-account rolling budgets in Redis (atomic Lua), audit of every call and an hourly anti-scraping sweep.
- Léo, an in-product assistant on WhatsApp and Telegram that diagnoses bots and hands off to support, covered by an eval suite.
- A business analytics agent for the operator that writes read-only SQL against the exchange database behind a parser and a column allowlist.
MCP · OAuth 2.1 · AI SDK · Redis · PostgreSQL · Vercel
How a trader connects their AI
- Trader pastes
layback-mcp…/api/mcp into Claude or ChatGPT - Discovery
/.well-known/oauth-protected-resource - Registration
POST /oauth/register (dynamic client) - Consent
/oauth/authorize on top of the exchange session, PKCE S256 - Tokens
/oauth/token → short-lived access, rotating refresh - Every call
scope check → rolling budget → run → audit
Data platform
Stats, odds history, event matching
Everything above runs on one data platform: live and historical stats and odds, collected from several providers and matched into one event model.
- API requests a day, 83% from cache
- 10.6M
- API requests a day, 83% from cache
- odds rows stored
- 423M
- odds rows stored
- matches with stats
- 144k
- matches with stats
What I built
- Collectors for Betfair, Bolsa de Aposta, Sportmonks, BetsAPI, Sportradar and Polymarket, with in-play odds every 10 seconds.
- Event matching in six stages — exact IDs, cross-exchange, lookups, similarity and an AI fallback — merged with union-find.
- A statistics API serving 10.6M requests a day behind a Cloudflare cache, with API keys, usage metering, a read replica and an MCP for internal agents.
Node.js · Express · Prisma · PostgreSQL · Cloudflare · node-cron


Prediction games
Bolsa de Aposta, Pinnacle × 89FM, CRB, Criciúma
Free-to-play and paid pools that bring exchange customers back every round, white-labelled for a bookmaker, a radio station and two football clubs.
- in prizes paid to 938 winners
- BRL 500k
- in prizes paid to 938 winners
- predictions
- 1.14M
- predictions
- traders
- 11.3k
- traders
- pools run on Bolsa de Aposta
- 30
- pools run on Bolsa de Aposta
What I built
- Odds frozen at the moment of each pick, so points reward the risk taken, with automatic settlement from the data platform on regulation time.
- Eligibility from real exchange activity, and paid entry placed as a bet on the exchange itself.
- An editorial blog with an AI content pipeline (transcripts, trade analysis, writer, judge) that publishes drafts with live market blocks.
Next.js · Bun · Hono · Prisma · PostgreSQL



Also built
- A liquidity bot that places laddered offers around reference prices on Bolsa de Aposta, to deepen the liquidity available to traders and narrow the market spread, with limits per runner.
- A predictions app (yes/no markets) on top of the exchange, and a new server-rendered white-label shell for SEO.
How I work
Close to the traders. Most features started as a support conversation or a trader's spreadsheet, and shipped within days.
Small team, AI-heavy workflow: agents write and review code in parallel, and I own the architecture, the product decisions and what goes to production.
Numbers over opinions. Parity tests between bot and backtest, audits on every AI call, and dashboards before debates.
Open to full-time or contract, with or without my team
jp@jpc0rrea.dev