I built a fully functional Tetris game that runs entirely inside ChatGPT conversations. You can take a gaming break mid-chat without switching tabs.
Demo: https://youtu.be/o8TcjEXU7yM
Code: https://github.com/sholajegede/chatgpt-tetris
Built with Vercel Technologies
Framework & Infrastructure:
-
Next.js + TypeScript + React
-
Vercel’s ChatGPT App Template (https://vercel.com/templates/ai/chatgpt-app-with-next-js)
-
Vercel Functions for MCP server deployment
-
Deployed on Vercel
Integration:
-
OpenAI Apps SDK for ChatGPT widget integration
-
MCP (Model Context Protocol) server with OAuth2 security schemes
-
Custom JWT verification with JWKS discovery
Data & Auth:
-
Convex for real-time database and game state persistence
-
Kinde for OAuth authentication
-
Replay recording system for playback
Key Features
-
Full Tetris Mechanics - 7 pieces, rotation with wall kicks, line clearing, scoring system
-
Persistent Game State - Your games save automatically with replay recording
-
Global Leaderboards - Compete with other players
-
Seamless Integration - Play without leaving your ChatGPT conversation
-
OAuth Support - Anonymous play or authenticated with profile
Tech Stack Highlights
-
Frontend: Next.js + TypeScript
-
Backend: MCP server + Convex (https://convex.dev)
-
Auth: Kinde OAuth with custom JWT validation (https://kinde.com)
-
Deployment: Vercel (template handled all the boilerplate)
-
Build time: ~4 hours
The Vercel ChatGPT app template was a game-changer (pun intended), it handles all the MCP setup, widget scaffolding, and deployment config.
Would love feedback from the community on the implementation or ideas for what to build next with the Apps SDK!
