Selected Work

TileTalk

Lead Engineer, Hack4Impact BU

Physical letter tiles get lost, knocked apart, and stall a whole 2nd-grade class. A digital letter board that behaves the way the plastic ones should.

TileTalk preview
Role
Lead Engineer
Team
3 engineers, 1 PM, 1 designer
Users
2nd-grade classrooms
Client
Massachusetts elementary school

Problem

A 2nd-grade phonics lesson runs on physical letter tiles. They get lost, they get knocked apart mid-exercise, and resetting them between words costs enough classroom time to slow group instruction to a crawl.

Approach

A digital letter board built on dnd-kit, where students drag, rearrange and reset letters to construct and deconstruct words, practising phonics patterns like digraphs and vowel teams with sound and Duolingo-style games attached.

Supabase Postgres holds teacher accounts and lesson relations, so a teacher's material persists across classes.

Architecture decisions

Tiles are constrained, not free. The obvious drag-and-drop implementation lets letters fly anywhere on screen, which for a seven-year-old is a toy rather than an exercise. Tiles snap into a bounded board instead, so the interaction stays in service of the lesson.

Reset is a first-class action. The single most repeated operation in a phonics lesson is clearing the board for the next word, so it is fast and reusable rather than buried.

Feedback is subtle and positive. Designing for children invites confetti and noise, but overstimulation actively works against reading practice. Feedback reinforces the correct answer without hijacking attention, and the UI stays visually quiet.

Engineering practice

A CI/CD workflow on GitHub Actions gates every change through Snyk for dependency security and ESLint for consistency, which is worth the setup on a codebase that will be handed to a future team.

Leading 3 engineers with a PM and designer: researching and breaking down features, delegating, reviewing PRs, and holding delivery to the client's expectations.

Built with

  • Next.js
  • · TypeScript
  • · dnd-kit
  • · Supabase
  • · GitHub Actions
  • · Snyk