Pranav Prasanna Venkatesh GitHub

I'm Pranav Prasanna Venkatesh, a high school senior in Washington who builds things around search and AI. My research on game tree search was accepted as a NeurIPS 2026 workshop poster, and my open-source engine, Cassini, drew 146 of 160 games against Stockfish 19.

Cassini 6.0 on one H100; Stockfish on 1 thread, 256 MB, 5-man Syzygy; 120 s + 1 s.

Move your cursor across the board to see how the current piece moves.

I build AI systems, research tools and medical software.

I've played chess for about ten years, and losing games is what pulled me into search algorithms. That led to MARS, my solo research project, and Cassini, an open-source GPU chess engine. My goal is to build the strongest open-source chess engine.

I also co-founded Thesisly, an AI research workspace with 1,500+ users, and co-created MediConnect, patent-pending software that gives EMTs patients' allergies, conditions and medications. I teach as well: coding at Challenger Coding, Tamil at Redmond Tamil School and chess at Chess4Life.

Achievements

  1. NeurIPS 2026

    Paper accepted (poster), Workshop on Foundation Models for Temporal Systems. Sole author. International, 2026.

  2. Congressional App Challenge

    Winner, WA-08, for MediConnect. 1 of ~394 district winners. National, 2025-26.

  3. USACO Platinum

    USA Computing Olympiad, top ~2% of competitors. The highest of four divisions. National, 2025-26.

  4. $100K Azure sponsorship

    From Microsoft Azure, backing Thesisly, the AI research workspace I co-founded.

  5. 1,500+ users

    On Thesisly, including UT Dallas professors and a research lab.

  6. Patent pending

    MediConnect, the emergency medical records software I co-created.

  7. $8k+ in prizes

    Won building working apps at security, fintech and AI-for-good hackathons.

More awards

AwardYearLevel
1st place, SafeHack2026Regional
Best FinTech Project, Frontier Cascadia2026Regional
Finalist, Open Atlas2026Regional
State qualifier, DECA Entrepreneurship Independent Business Plan2025-26State
State qualifier, TSA Drone Challenge (UAV)2025-26State
College Board National Recognition Program, School Recognition Award2025-26National

Cassini

Open-source GPU chess engine

I built Cassini alone and released it publicly under GPL-3.0. It pairs a 188M-parameter transformer evaluator with PUCT search, written in Python and Rust with GPU kernels.

github.com/PranavPrasannaV/cassini-6.0

Against Stockfish 19

146 draws and 14 losses in 160 games, about 30 Elo below it in this match.

Cassini
Cassini 6.0 on one H100
Stockfish
1 thread, 256 MB, 5-man Syzygy
Time control
120 s + 1 s

Each square is one game: half-filled for the 146 draws, solid for the 14 losses. Sorted, not in the order played.

4th of 25, scoring 20/24.

Chess Engines Diary new-engine exam (Oct 2026).

MARS

Mamba Adversarial Recurrent Search

MARS is a game tree search algorithm I designed and tested on my own, with no mentor or lab. Standard MCTS re-encodes every position from scratch. MARS uses a learned world model to carry memory forward along a line of play.

+52 Elo

Over a PUCT baseline, 95% interval [+34, +70], across 1,040 games.

The axis is the board: each square is 10 Elo.each square is 20 Elo.

Value Magnitude Does Not Survive the Recurrence: Diagnosing and Repairing a Mamba World Model for Latent Search.

The world model's value estimate shrinks toward zero on captures, which I diagnosed and repaired.

The shrinking title illustrates the finding. The chart after it is measured.

Sole author. Accepted (poster), NeurIPS 2026 Workshop on Foundation Models for Temporal Systems, Sydney.

What each model reads when a hanging piece gets captured

Value is P(win) − P(loss), from −1 to +1, averaged over hanging-piece positions from real games. The first bar comes from an earlier 62-case probe, where the evaluator read −0.425.

The reading comes back too small

MARS plays out lines in a small learned world model instead of calling the full evaluator at every step. When a hanging piece gets captured, the evaluator reads −0.453. The world model reads −0.12. It knows it was punished, not how badly.

Two fixes, both wrong

A cosine of +0.80 with the evaluator's embedding suggested the information was there and the value head was missing it. So I sharpened the value target, twice. Each run moved the reading further from the truth.

The probe that ended it

I decoded the same hidden state through the evaluator's own value head. It returned −0.039, worse again, so a better readout couldn't fix it. A capture emits the same move token as a quiet move, and the scan's decay gate shrinks magnitude at every step.

The repair

The planner already holds the real board, so I compute material from it and train the head on the residual only. It adds no parameters. The reading moved to −0.331 within 3,000 steps and −0.374 in the final model, and rollouts now stay usable across all eight plies the probe measures.

What it's worth

The planner with this model beats a PUCT search on the same evaluator by +52 Elo, 95% interval [+34, +70], over 1,040 games, with less time per move. The repair itself converts to about zero Elo, because the planner's root guard already catches those hangs in play. That guard also removes the positions an on-policy correction needs, by a measured factor of 3.5.

Tested on chess, with one evaluator and a deliberately weak network at 34.4% top-1.

How I ran it

I wrote my decision rules before running matches. I trained on rented spot A100 GPUs and checkpointed every four minutes, because instances could be evicted mid-run.

Thesisly

AI research workspace

I co-founded Thesisly and serve as CTO. It takes students from idea to paper.

1,500+

users, including UT Dallas professors and a research lab.

$100K

Microsoft Azure sponsorship backing it.

MediConnect

Emergency medical records software

I co-created and developed MediConnect, which gives EMTs patients' allergies, conditions and medications from hospital records through Epic FHIR.

Congressional App Challenge winner, WA-08 (1 of ~394 district winners). Patent pending.

Allergies
Penicillin
Conditions
Type 1 diabetes
Medications
Insulin glargine
Illustrative record, not a real patient or a screenshot of the app.

More experience

  1. FoolProof

    Hackathon project

    An adversarial consumer-protection trainer for financial literacy, with a deterministic grading engine and damage calculations that cite CFPB and FTC sources.

  2. Bushel

    Hackathon project

    A post-wildfire reforestation planner that analyzes burn severity, finds areas beyond natural reseeding range and computes cone requirements by species, seed zone and elevation band.

  3. Hackathons

    Competitor

    Built working apps at security, fintech and AI-for-good hackathons, winning $8k+ in prizes.

  4. USACO and Codeforces

    Competitive programmer

    Reached USACO Platinum, the highest of four divisions.

  5. Redmond Tamil School

    Lead Developer and Teaching Assistant

    Lead the student developers who build and run the school's software. As a TA, manage a weekly class of about 20 and have taught 100+ students.

  6. Challenger Coding

    Vice President and Instructor

    Teach Scratch, Python and Java, and plan lessons and curriculum at a student-run nonprofit whose group has taught 3,000+ students since 2023.

  7. Chess4Life

    Chess Coach

    Teach classes of about 8 kids ages 6-13. I also compete: Chess.com 1770+, top 1% globally.

Skills and tools

AreaToolsWhere I used them
LanguagesPython, Rust, JavaCassini, MARS, teaching
Machine learningMamba state-space models, transformers, distillationMARS, Cassini
Game searchPUCT, MCTS, Gumbel root selectionMARS, Cassini
GPU and cloudAzure, rented A100 and H100 GPUs, spot-instance checkpointingMARS, Cassini
Web and mappingReact, MapLibre, geopandas, rasterioBushel
Health dataEpic FHIRMediConnect