Aplicativo iOS
Interface SwiftUI com mecânicas de jogo do PokerKit e captura de decisões.
Estudo de caso
Uma mesa de treinamento nativa 6-max, 100BB, na qual cinco oponentes GTO jogam todas as mãos pela mesma API Pokerai disponível aos desenvolvedores. O Counterplay registra cada decisão do Hero, a avalia com base nas frequências retornadas, agrupa desvios recorrentes em relatórios de leaks e mantém as mãos subjacentes prontas para revisão ou coaching fundamentado opcional.


01 / arquitetura
O Counterplay separa a mecânica do jogo, o estado da sessão e a verdade estratégica. O PokerKit avança a mesa com seis jogadores; o serviço do treinador preserva a linha de ações ordenada, os stacks efetivos, os Ranges e o contexto de revisão; a API Pokerai fornece consultas pré-resolvidas ou saída do solver em tempo real. A mesma resposta pode orientar o jogo dos oponentes, a avaliação do Hero, a visualização de ranges e o coaching posterior sem incorporar gráficos privados no aplicativo.
Interface SwiftUI com mecânicas de jogo do PokerKit e captura de decisões.
FastAPI mantém a mão atual, a linha de ação, as Ranges e o contexto de revisão.
Estratégia pré-resolvida de preflop e flop, além da resolução em fila de turn e river.
02 / ciclo do produto
O produto faz mais do que expor uma resposta de solver. Ele transforma decisões individuais em um relatório de análise e mantém as mãos subjacentes disponíveis para revisão e estudo posterior.
Agrupe decisões semelhantes, exiba contagens de amostras e desvio médio e, em seguida, classifique padrões repetidos de preflop e postflop por gravidade.

Pesquise por mão, posição ou cartas; inspecione o resultado e o BB líquido; depois reabra a sequência exata de decisões por trás de um relatório.

Escolha uma consulta rápida pré-resolvida ou um cálculo exato sob demanda, defina o pote e as posições e leve o resultado para uma discussão focada.

Mantenha a interface de treinamento focada, permitindo que o jogador escolha o idioma, a identidade da mesa e o modelo opcional usado para explicações.

03 / registro de endpoints
Rastreado a partir do cliente real (método → endpoint → onde é usado):
/v1/gto/preflopAções pré-flop do Vilão + avaliação da decisão pré-flop do Hero
/v1/gto/preflop/rangeA grade de Ranges 13×13 mostrada na revisão
/v1/gto/flop/treeÁrvore de decisões pós-flop para a situação do flop
/v1/gto/flop/nodeEstratégia no nó atual do flop (+ avaliação)
/v1/gto/flop/projected-rangeAtualiza os Ranges ao longo da linha de ação do flop
/v1/gto/rangeMontar solver_results para uma linha de ação
/v1/gto/turn/projected-rangeTransferência de Ranges do flop → turn
/v1/gto/solverEnviar uma tarefa de resolução em tempo real para uma situação de turn/river
/v1/gto/solver/treeÁrvore de decisões da situação resolvida de turn/river
/v1/gto/solver/nodeEstratégia em um nó de turn/river (+ avaliação)
04 / comprovação da implementação
O cliente não incorpora gráficos nem resultados do solucionador. Ele configura a situação atual, envia uma solicitação autenticada e retorna frequências de estratégia normalizadas ao treinador.
class GtoClient:
def __init__(self, settings):
self._headers = {"Authorization": f"Bearer {settings.gto_api_key}"}
async def preflop(self, hole_cards, hero_pos, preflop_actions):
body = {"hole_cards": hole_cards,
"positions": {"hero": hero_pos},
"preflop_actions": preflop_actions}
return _strategy_from(await self._post("/v1/gto/preflop", body))
async def flop_node(self, node_token, hole_cards=None):
body = {"node": node_token}
if hole_cards: body["hole_cards"] = hole_cards
return _strategy_from(await self._post("/v1/gto/flop/node", body))
# … + solver_schedule / solver_tree / solver_node, all one-liners over _post()05 / ciclo de decisão
Envie as cartas, a posição e as ações ordenadas; use as frequências retornadas para jogar e avaliar.
Carregue a árvore pré-resolvida, localize o nó ativo e projete os Ranges após cada ação.
Envie os Ranges ao solver em tempo real, consulte o status da tarefa e depois leia o nó de estratégia resultante.
Avalie a ação escolhida pela própria frequência GTO e transmita o contexto estruturado ao coach opcional.
Counterplay é uma integração de produto da Pokerai API mantida pela Pokerai API. Ele não é apresentado como uma implantação de cliente de terceiros. Este registro técnico documenta o fluxo de trabalho do treinador para iOS e os endpoints públicos da API usados por esse fluxo de trabalho. O produto atual é voltado para treinamento de cash game com 100BB e seis jogadores, aleatoriza o assento do Herói, usa cinco oponentes orientados por estratégia e reduz situações pós-flop com vários jogadores a uma aproximação heads-up. O coaching é opcional. O Counterplay não ativa assistência em tempo real em mesas com dinheiro real. Esta página não faz nenhuma afirmação sobre adoção por clientes, downloads, desempenho em benchmarks, parcerias comerciais ou endossos externos.
Desenvolva com a mesma API
Comece com uma chave gratuita, faça uma chamada pré-flop e depois siga os mesmos endpoints públicos usados aqui.