Application & data systems developer · 2026
Jersey City Birds Field Monitor
A field tool for volunteers and coordinators who monitor bird–building collisions. Monitors follow an official route, check off each building, identify common species from a curated visual guide, and log an observation for each bird — with GPS location and photo uploads.
- Problem
- Reports were spread across Google Forms, spreadsheets, and maps. Gaps in collection made the season's data hard to trust.
- Built
- Official routes with building checklists and daily progress, an observation form that keeps the program's outcome categories, and "no findings" walk records so empty days count too.
- How it works
- Started as a Google Forms and Sheets workflow with interactive maps, then rebuilt as a web app: records in a Cloudflare D1 database, photos in R2 storage, and each report synced to the program's Google Sheet with Apps Script. Tested before every release.
- React 19
- TypeScript
- Vinext (Next.js on Vite)
- Cloudflare D1
- Cloudflare R2
- Drizzle ORM
- Tailwind CSS
- shadcn/ui
- Google Apps Script
- Google Sheets
- Google My Maps
- Vitest