← Home

MARTI Program Calendar
A community program calendar driven live by a Google Sheet the organizers edit.
Solo build · 2026 – present · Maintained
Next.js · TypeScript · ISR · Google Sheets · Vercel
Organizers edit a spreadsheet and the live site follows, with no deploy
A program calendar I built and maintain for MARTI, the Maryland nonprofit where I mentor. The point of it is that the organizers are not developers. A Google Sheet is the single source of truth, read as CSV and revalidated every half hour, so a sheet edit reaches the live site without a deploy. Most of the real work is in the parser.
Highlights
- A Google Sheet as the single source of truth, replacing hardcoded event data.
- Revalidation on a short interval, so a sheet edit reaches production without a deploy.
- The parser reads bilingual Turkish and English month blocks.
- Repeated events merge into multi-day spans, including across a month boundary.
- Filter tracks come from the sheet's own column headers instead of keyword guesses.
- The year, which the sheet never records, is inferred by matching weekday columns against candidate years.