8 ferramentas.
Um Concierge.
Picks são só o começo. A plataforma traz Bankroll Manager (Kelly + stop-loss), Tipsters Verificados, Academia Educacional, Discussão por jogo, Notificações inteligentes, Calibração de modelo auditada, Jogo Responsável conforme Lei 14.790, e o Beto narrando tudo. Veja como cada peça funciona.
Cron concierge.guesses gera o número (CalculatedGuess) e o Beto entrega 1-2 frases via OpenAI gpt-4o-mini explicando o porquê. Persistido em report.narrative — sem custo runtime na hora de você ler.
- 01Modelo proprietário CalculatedGuess pesa stats, mando, juiz e histórico
- 02OpenAI gpt-4o-mini gera narrativa pré-jogo, custo negligenciável
- 03Cache em DB: leitura é instantânea, sem latência de LLM
Você define banca, % de stake unitário, stop-loss e stop-win diários. A calculadora aplica 1/4 Kelly automático (variância controlada). Cada evento (deposit, withdrawal, win, loss, adjustment) fica em bankroll_event com saldo após — alimenta o gráfico de evolução real.
- 01Kelly fracionário (1/4) por padrão — variância sob controle
- 02Stop-loss e stop-win em unidades, rastreio diário
- 03Histórico completo em bankroll_event, gráfico de evolução real
- 04GET/PUT /api/bankroll, POST /api/bankroll/event — auditoria total
Curadores aprovados pelo Concierge publicam picks formais com market, line, odd e stake_units. Cada pick fica em concierge.tipster_pick com hit/miss/pendente. Stats agregadas em 30/90/all-time mostram profit em unidades + hit rate. Usuários seguem (profile_follow) e veem no leaderboard.
- 01Verified flag: só aprovados aparecem no público
- 02Picks publicados ANTES do jogo, hit/miss marcado pelo cron fixtures.results
- 03Leaderboard /leaderboard ranqueia por profit_units em 30d/90d/6m/all
- 04Follow grátis, perfil em /tipsters/[username]
Sem CMS externo. Tabela concierge.academia_article + academia_glossary armazena artigos em markdown e termos. 8 artigos no seed (EV, odds, O/U 2.5, prob implícita, Kelly, xG, BTTS, erros de iniciantes) + 10 termos no glossário. Renderização com MarkdownLite inline (sem react-markdown).
- 014 categorias: Fundamentos, Mercados, Bankroll, Estatística
- 02Busca debounce 300ms + filtro por categoria + badge NEW
- 03Glossário expandido em /academia/glossario com busca + agrupamento alfabético
- 04Tudo gratuito, faz parte do nosso compromisso de jogo responsável
Autoexclusão 24h/7d/30d/indefinido (indef só com suporte pra reverter). Limites configuráveis (depósito mensal, stake diário, tempo/dia, sessões/semana) com reset automático. Check-in semanal. Banner global em todas as páginas autenticadas. Bloqueio de login em 3 entrypoints durante exclusão.
- 01Lei 14.790/2024 com implementação verificável
- 02Bloqueio em /auth, verify-OTP e OAuth (defesa em profundidade)
- 03Email de confirmação na ativação (Nodemailer/Gmail)
- 040800 700 1505 (Jogadores Anônimos) sempre visível
/discussion?fixture=N junta os usuários no debate da partida. Posts com pick fixado (market + line + odd), votação +1/-1, sidebar com 'palpites populares'. Moderação admin via soft-delete + pin. Atualização a cada 15s (polling).
- 01Picks reconhecidos no composer, formatados como bloco destacado
- 02Votação única por usuário+post, ranking por 'top' ou 'newest'
- 03Soft-delete preserva auditoria, pin destaca posts relevantes
- 04Sidebar mostra % de votos por mercado popular
Tabela profile.notification + trigger service (notifyNewPickForFixture, notifyBillingConfirmed, etc) dispara nos eventos certos. Badge contador na topbar (refresh 60s). Click em notificação navega pro target (fixture, billing, etc).
- 014 tipos: pick, fixture, billing, system
- 02Idempotente 24h (evita spam em re-runs do cron)
- 03Badge contador refresca a cada 60s
- 04Mark-as-read individual ou em lote
Cada pick (concierge.report) ganha hit (true/false/null) quando o cron fixtures.results processa o placar real. Hit-rate agrupado por bucket de confiança. Quando bucket atinge >10 samples, confiança passa de 'EM CALIBRAÇÃO' pra valor real. Mensuração contínua, sem retoque.
- 01Hit-rate por bucket, não média global inflada
- 02Cron diário 04:00 UTC processa placares via FlashLive
- 03Badge 'EM CALIBRAÇÃO' nos picks sem amostra suficiente — transparência total
- 04/api/cron/health expõe metrics agregadas pra admin