NEWStartup Frameworks are for sale — buy a launch-ready business, not a slide deck.Sep 04✦NEWTech’s Tinder — a swipe-to-match deal engine for hardware buyers and sellers — joins the framework catalogue.Sep 04✦NEWSignal — the creators network for the people who build the machines (formerly networkedin) — joins the framework catalogue.Sep 03✦NEWScarlet Beast Poker is packaged for acquisition — platform, native apps, the Hiss AI and the public API.Sep 03✦LIVEBusiness Plans — every scope, timeline and price we quote, in one vault.Sep 01✦NEWFree technical audit — one call, no pitch, a written findings list you keep either way.Aug 28✦LIVEGROWL — the crypto and forex exchange, plus an algorithmic bot marketplace.Aug 26✦LIVEHiss — production poker AI: deep reinforcement learning, computer vision, real-time inference.Aug 22✦NEWPerformance engineering — measurable TTFB, LCP and CLS gains on enterprise traffic.Aug 18✦NEWAdobe Commerce and Shopify Plus modernization — migrations that ship without downtime.Aug 05✦NEWThe technology stack is published — what we run, why we chose it, what it costs.Aug 01✦NEWStartup Frameworks are for sale — buy a launch-ready business, not a slide deck.Sep 04✦NEWTech’s Tinder — a swipe-to-match deal engine for hardware buyers and sellers — joins the framework catalogue.Sep 04✦NEWSignal — the creators network for the people who build the machines (formerly networkedin) — joins the framework catalogue.Sep 03✦NEWScarlet Beast Poker is packaged for acquisition — platform, native apps, the Hiss AI and the public API.Sep 03✦LIVEBusiness Plans — every scope, timeline and price we quote, in one vault.Sep 01✦NEWFree technical audit — one call, no pitch, a written findings list you keep either way.Aug 28✦LIVEGROWL — the crypto and forex exchange, plus an algorithmic bot marketplace.Aug 26✦LIVEHiss — production poker AI: deep reinforcement learning, computer vision, real-time inference.Aug 22✦NEWPerformance engineering — measurable TTFB, LCP and CLS gains on enterprise traffic.Aug 18✦NEWAdobe Commerce and Shopify Plus modernization — migrations that ship without downtime.Aug 05✦NEWThe technology stack is published — what we run, why we chose it, what it costs.Aug 01✦
Meet Hiss — a machine that reads the felt, weighs every odd, and moves without a tell. The first mark isn’t on a hand. It’s cold, beautiful math built in the open.
No tells✦No tilt✦No mercy✦Read the table✦Weigh the odds✦Act without a flinch✦Cold math in a poker face✦The machine learns the felt first✦Step one is quiet and mechanical✦Built in the open✦Every hand is data✦The bot never blinks✦Pure odds, zero ego✦Commit - push - evolve✦Open source, open eyes✦The first mark is a machine✦Bluff the human, not the math✦Cards become coordinates✦Stacks become pressure✦The river has no mercy✦The turn exposes panic✦Felt first, world later✦Fold the noise✦Raise the signal✦The table is a sensor✦One bot, no excuses✦Probability wears black✦Scarlet light on green felt✦The dealer is just input✦No superstition survives the solver✦No lucky charm beats range work✦The machine watches quietly✦Every chip is telemetry✦Every bet is confession✦Every check is a shadow✦Every call leaves a trace✦The bot studies silence✦The felt becomes scripture✦The game becomes grammar✦The edge compounds✦No audience, only accuracy✦No throne, only throughput✦The open repo breathes✦Hiss learns in public✦Push the branch, sharpen the blade✦No tilt in the circuit✦No pulse in the bluff✦No leak in the line✦No tells✦No tilt✦No mercy✦Read the table✦Weigh the odds✦Act without a flinch✦Cold math in a poker face✦The machine learns the felt first✦Step one is quiet and mechanical✦Built in the open✦Every hand is data✦The bot never blinks✦Pure odds, zero ego✦Commit - push - evolve✦Open source, open eyes✦The first mark is a machine✦Bluff the human, not the math✦Cards become coordinates✦Stacks become pressure✦The river has no mercy✦The turn exposes panic✦Felt first, world later✦Fold the noise✦Raise the signal✦The table is a sensor✦One bot, no excuses✦Probability wears black✦Scarlet light on green felt✦The dealer is just input✦No superstition survives the solver✦No lucky charm beats range work✦The machine watches quietly✦Every chip is telemetry✦Every bet is confession✦Every check is a shadow✦Every call leaves a trace✦The bot studies silence✦The felt becomes scripture✦The game becomes grammar✦The edge compounds✦No audience, only accuracy✦No throne, only throughput✦The open repo breathes✦Hiss learns in public✦Push the branch, sharpen the blade✦No tilt in the circuit✦No pulse in the bluff✦No leak in the line✦
// Straight from the lab — github.com/christianscarlet2/hiss
// The First Mark
A Bot That Reads the Table
Before the beast reads the world, it learns to read a poker table. Hiss perceives the board, computes the odds, and acts with no nerves and no leak. It doesn’t get lucky — it gets correct, hand after hand, commit after commit.
0
Live Commits
0tells
Given Away
0/7
Grinding
∞
Patience
// How Hiss Works
Perceive. Calculate. Act.
A · PERCEIVE
Read the Table
Every card, stack, and bet becomes signal. Hiss watches the felt the way the beast watches the world.
B · CALCULATE
Weigh the Odds
Pot odds, ranges, and equity resolved in milliseconds. No hope, no fear — only the math beneath the bluff.
C · ACT
Act Without a Tell
It moves with no flinch and no leak. The first mark isn’t on a hand — it’s a machine that never blinks.
git pull the future✦the river is just probability✦fold your ego, raise your game✦the house is awake✦study the soul, stack the chips✦every push sharpens the edge✦silicon patience beats human panic✦the felt remembers nothing, the bot remembers all✦value bets only✦the math is the bluff✦play the player, solve the game✦all in on the open road✦commit before the cards cool✦branch the hand history✦merge the range map✦ship the solver spine✦trace the pot, not the panic✦parse the board state✦normalize the noise✦hydrate the hand reader✦compile the instinct✦lint the hesitation✦test the river path✦cache the tell, delete the ego✦feature flags on the felt✦the stack is a state machine✦the blind is a clock tick✦the shove is an event✦no magic numbers in the bluff✦no dead code in the decision✦no mercy in the model✦no romance in the range✦unit test the fear response✦simulate the cold call✦profile the patience loop✦optimize the check-raise✦rebase on reality✦squash the superstition✦push clean, play cleaner✦the terminal knows the hand✦git pull the future✦the river is just probability✦fold your ego, raise your game✦the house is awake✦study the soul, stack the chips✦every push sharpens the edge✦silicon patience beats human panic✦the felt remembers nothing, the bot remembers all✦value bets only✦the math is the bluff✦play the player, solve the game✦all in on the open road✦commit before the cards cool✦branch the hand history✦merge the range map✦ship the solver spine✦trace the pot, not the panic✦parse the board state✦normalize the noise✦hydrate the hand reader✦compile the instinct✦lint the hesitation✦test the river path✦cache the tell, delete the ego✦feature flags on the felt✦the stack is a state machine✦the blind is a clock tick✦the shove is an event✦no magic numbers in the bluff✦no dead code in the decision✦no mercy in the model✦no romance in the range✦unit test the fear response✦simulate the cold call✦profile the patience loop✦optimize the check-raise✦rebase on reality✦squash the superstition✦push clean, play cleaner✦the terminal knows the hand✦
// See It Live
Watch Hiss Play
Gameplay footage of the bot at the table is on its way. This is its home — check back soon.
Demo Soon
Hiss at the Table
// gameplay footage dropping soon
// Built in the Open
Follow the Build
No black box. Every step of Hiss ships in public — the live commit feed below is pulled straight from the repo each time the site rebuilds.
seat 0: 0.5 | complete
Original request:
Look at the image at C:\Users\scarl\AppData\Local\Temp\claude\C--Users-scarl\59244572-5582-4d65-a17c-5a5df7eb1252\scratchpad\verify\verify_all_seats.png using the Read tool. It has rows, each labeled 'seat N (hand)' next to a cropped gold pill showing a poker bet amount like 'X.Y BB'. For EACH seat row, tell me the exact bet number you can read (keep decimals), and whether the number appears fully visible or clipped/cut-off at any edge. Respond ONLY as lines: 'seat N: <number> | <complete|clipped>'.
Result:
seat 0: 0.5 | complete
seat 1: 1 | complete
seat 2: 1 | complete
seat 3: 1 | complete
seat 4: 1 | complete
seat 5: 0.5 | complete
seat 6: 0.5 | complete
seat 7: 0.5 | complete
seat 8: NO-DATA (no pill rendered) | n/a
{"is_more_info":false,"starting_chips":null,"blind_minutes":null,"max_se
Original request:
Read the image file at C:\tmp\lobby_27655_moreinfo.png . ACR tournament MORE-INFO popup (or a table). Output ONLY compact single-line JSON, no prose, keys: is_more_info (bool), starting_chips (int or null), blind_minutes (int or null), max_seats (int or null), places_paid (int or null), first_place (dollars float or null). null for anything not visible.
Result:
{"is_more_info":false,"starting_chips":null,"blind_minutes":null,"max_seats":null,"places_paid":null,"first_place":null}
{"is_info_page":true,"tournament":"$50 GTD Freeroll PLO 6-Max","remainin
Original request:
Read the image file at C:\tmp\lobby_27655_main.png . It is an ACR Poker tournament INFO page (or a poker table). Output ONLY a compact single-line JSON object, no prose, with keys: is_info_page (true only if this is the tournament info/lobby screen, false if it is a table), tournament (name string or null), remaining (players left, int or null), entrants (int or null), prize_pool (dollars float or null), avg_stack_bb (average stack in BIG BLINDS if shown 'Avg Stack 68.48 BB' -> 68.48, else null), level (int or null), sb_dollars (float or null), bb_dollars (float or null), next_level_minutes (float or null). Use null for anything not visible.
Result:
{"is_info_page":true,"tournament":"$50 GTD Freeroll PLO 6-Max","remaining":868,"entrants":1110,"prize_pool":50.0,"avg_stack_bb":115.53,"level":3,"sb_dollars":100.0,"bb_dollars":200.0,"next_level_minutes":2.0}
{"is_info_page":true,"tournament":"$50 GTD Freeroll PLO 6-Max","remainin
Original request:
Read the image file at C:\tmp\lobby_27655_main.png . It is an ACR Poker tournament INFO page (or a poker table). Output ONLY a compact single-line JSON object, no prose, with keys: is_info_page (true only if this is the tournament info/lobby screen, false if it is a table), tournament (name string or null), remaining (players left, int or null), entrants (int or null), prize_pool (dollars float or null), avg_stack_bb (average stack in BIG BLINDS if shown 'Avg Stack 68.48 BB' -> 68.48, else null), level (int or null), sb_dollars (float or null), bb_dollars (float or null), next_level_minutes (float or null). Use null for anything not visible.
Result:
{"is_info_page":true,"tournament":"$50 GTD Freeroll PLO 6-Max","remaining":854,"entrants":1059,"prize_pool":50.0,"avg_stack_bb":111.91,"level":3,"sb_dollars":100.0,"bb_dollars":200.0,"next_level_minutes":4.0}
{"is_info_page":true,"tournament":"$50 GTD Freeroll PLO 6-Max","remainin
Original request:
Read the image file at C:\tmp\lobby_27655_main.png . It is an ACR Poker tournament INFO page (or a poker table). Output ONLY a compact single-line JSON object, no prose, with keys: is_info_page (true only if this is the tournament info/lobby screen, false if it is a table), tournament (name string or null), remaining (players left, int or null), entrants (int or null), prize_pool (dollars float or null), avg_stack_bb (average stack in BIG BLINDS if shown 'Avg Stack 68.48 BB' -> 68.48, else null), level (int or null), sb_dollars (float or null), bb_dollars (float or null), next_level_minutes (float or null). Use null for anything not visible.
Result:
{"is_info_page":true,"tournament":"$50 GTD Freeroll PLO 6-Max","remaining":764,"entrants":828,"prize_pool":50.0,"avg_stack_bb":195.48,"level":1,"sb_dollars":50.0,"bb_dollars":100.0,"next_level_minutes":1.0}
{"is_more_info":false,"starting_chips":null,"blind_minutes":null,"max_se
Original request:
Read the image file at C:\tmp\lobby_27655_moreinfo.png . ACR tournament MORE-INFO popup (or a table). Output ONLY compact single-line JSON, no prose, keys: is_more_info (bool), starting_chips (int or null), blind_minutes (int or null), max_seats (int or null), places_paid (int or null), first_place (dollars float or null). null for anything not visible.
Result:
{"is_more_info":false,"starting_chips":null,"blind_minutes":null,"max_seats":6,"places_paid":null,"first_place":null}
scarletbeast.com is a LIVING application — carved in flesh, not stone. Speak a command into the emulator and the machine will rewrite its own body to obey… pending the warden's mark. ⛧
No git. No FTP. No mercy. Just words that become code. 🔥
◆ BET ON YOU — six months of development & technical leadership, freeApplications close Halloween — Technology with a conscience ◆◆ BET ON YOU — six months of development & technical leadership, freeApplications close Halloween — Technology with a conscience ◆
BET ON YOU
Six months of development services and technical leadership. Free. For one company building technology with a conscience.
Six months of full-stack development on your product.
Technical leadership — the decisions a first CTO makes, made properly.
Automation of whatever is eating your week.
You do not need a technical co-founder. That is the point.
Every application answers one question we take seriously: what does this do to the world? Who is better off when it works, who could be harmed, and what you decided not to build because of the answer.
Applying with an agent? The intake is an API with an MCP server in front of it: claude mcp add --transport http scarlet-beast-apply https://apply.scarletbeast.com/api/intake/mcp