TChess: chess training app with an on-device engine
React Native · Expo · Next.js · SupabaseA chess training app for Android and web, published on Google Play as app.tchess and on the web at tchess.app.
Challenge
Run a strong chess engine on a phone, keep it stable in production, and sell subscriptions across Google Play and the web without letting trials be abused.
Native engine
Stockfish 17.1 is integrated through a custom NDK/JNI native module. Production memory issues were traced through Sentry and fixed by correcting the engine lifecycle handling.
Subscriptions and backend
RevenueCat, Google Play Billing and Paddle, with 11 Supabase Edge Functions and 48 Postgres migrations with row-level security. The server-held trial survives reinstalls and device clock changes.
Testing
1,500+ automated test cases (817 in the app, 704 in the web project) plus an engine check that replays all 60,000 bundled puzzles.