Projects · No. 012026

Up to 16 players · a TV and your phones

GameNight

Party games for a living room, run by AI. The TV hosts the room, everyone plays on their phone, and AI agents run the games and narrate them out loud.

Code on GitHub
The GameNight lobby on the TV: a room code, a QR code to join, and four playersA phone in the lobby, picking a quiz topic
Type
Personal project
Year
2026
Role
Solo, design to deployment
Games
Quiz Night, Undercover, Heads Up
AI
LangGraph · Claude Haiku 4.5 · ElevenLabs

1 Games included

Quiz Night on the TVQuiz Night on a phone

Quiz Night

Questions on topics the room picks, each checked against the Wikipedia sentence it came from.

Undercover on the TVUndercover on a phone

Undercover

Every phone holds a secret word, face down until it's held. Find who has a different one.

Heads Up on the TVHeads Up on a phone

Heads Up

The card is on the TV only; the guesser's phone never gets it. The room shouts clues.

2 The toolbox

Web

Next.js 16, TypeScript, Tailwind CSS 4, Motion

The TV, the phones and the host screens

Data & realtime

Supabase: Postgres, RLS, Realtime, Auth, Storage

Game state, secrets and live updates

AI

LangGraph, LangChain, Claude Haiku 4.5, LangSmith

Game masters, narrator and quiz writer, traced

Voice

ElevenLabs, FastAPI

The AI host's lines, spoken out loud

Infra

Docker, Kubernetes, Helm, GitHub Actions, GHCR

Five services, built, shipped and run

Observability

OpenTelemetry, Tempo, Prometheus, Loki, Grafana

Traces, metrics, logs and dashboards

3 Shipped like a product

A full CI/CD pipeline on GitHub Actions: tested, scanned and signed before anything ships.

Every pull request

  • Typecheck, lint and unit tests
  • pgTAP tests on RLS and RPCs
  • Playwright end-to-end with axe
  • Bots play whole games hunting for leaks
  • A 3-room load test

SAST, every PR and daily

  • Semgrep with custom rules, CodeQL
  • gitleaks, OSV-Scanner, Dependabot
  • hadolint, Grype on every image
  • zizmor and actionlint on CI itself

DAST and AI red team

  • OWASP ZAP against the running app, nightly
  • promptfoo red team: OWASP Top 10 for LLM and agentic apps
  • Leak attacks and evals on the real model

Every merge to main

  • Images published to GHCR only if scans pass
  • SBOMs and signed build provenance
  • Helm to Kubernetes: restricted pods, default-deny network policies
  • Tagged releases on GitHub
Next.js 16 · TypeScript · Supabase · Postgres RLS · Realtime · Python · LangGraph · LangChain · Claude Haiku 4.5 · LangSmith · ElevenLabs · FastAPI · Docker · Kubernetes · Helm · GitHub Actions · OpenTelemetry · Grafana · pgTAP · Playwright · promptfoo · 

Stack: Next.js 16, TypeScript, Supabase, Postgres RLS, Realtime, Python, LangGraph, LangChain, Claude Haiku 4.5, LangSmith, ElevenLabs, FastAPI, Docker, Kubernetes, Helm, GitHub Actions, OpenTelemetry, Grafana, pgTAP, Playwright, promptfoo

Next · ProjectsAnima →
Lekhana Kalyan Raj
RésuméLinkedInGitHub