Skip to content
karim.semaan(open to work)
WorkExperienceAboutSkillsContactResume ↓
← All work
SEM BM preview
Full-stackLive2026

SEM BM

Byzantine-chant learning games

Full-stack · Interactive previewSEM BMByzantine-chant learning games

Opens the live app.

Open live app ↗

SEM BM ports a legacy FileMaker music curriculum into a deployable web app for a school of ecclesiastic music. It implements nine distinct seeded-deterministic game mechanics (sequence-order, link-match, interval/logical, scale random-walk, a timed Tetris-style mode, memory, maze, guess, reading) across 4 chapters and 29 exercises, all built on Byzantine 7-note scale arithmetic and a Web Audio runtime synthesizer (sine oscillators with an envelope), so no audio files are shipped. The backend is Supabase Postgres with full RLS, Auth (email + Google), and Storage; the frontend adds complete Arabic RTL i18n, an accessibility baseline, and guest-vs-authenticated progress merging. ~68 TS/TSX files (~9,900 LOC) over 12 SQL migrations.

  • Next.js 15
  • React 19
  • TypeScript
  • Tailwind CSS v4
  • Supabase
  • Web Audio API
  • Vercel
Exercises
29
Game mechanics
9
Languages
EN + Arabic (RTL)
Source
68 files · ~9,900 LOC
Open live↗
Want something like this? Get in touch →
© 2026 Karim SemaanBuilt with Next.js, Tailwind & Supabase.LinkedIn ↗GitHub ↗