City of Boston Grows a Hand-Built Scheduling Platform From One App to Three Over Two Years
No AI, no shortcuts — just detailed planning, documentation, and a platform built to handle real-world scheduling complexity.
The City of Boston‘s Digital Services Team needed a way for residents to schedule pickup of bulky items like mattresses and refrigerators, replacing a manual, phone-driven process, on an initial three-month deadline. That would have been the whole story — except the city kept coming back. Over the next two years, new requirements arrived in phases: a third standalone app for recycling cart requests, integration with the city’s Cartegraph asset-management system for recycle cart pickups, and a switch from an imported address dataset to the city’s own live address-search API across all three apps.
Boston needed a technical partner who could deliver fast against a hard first deadline, and then keep extending the platform reliably, years later, without the team having to relearn it each time.
The Aboard Solution
We built and have continued to expand Boston’s bulky-item and recycling scheduling platform for more than two years, across three build phases, entirely by hand — no AI-generated code anywhere in the stack.
What We Delivered
Three standalone web apps — mattress pickup, special (bulky) items, and recycle carts — all integrated into Boston.gov and sharing a common scheduling engine that resolves real-world collection logistics for every address and date. Later additions layered in a live integration with the city’s own SAM address-search API and a Cartegraph integration for recycle cart photo documentation.
Key Technical Achievements
- A scheduling engine that resolves roughly two dozen conditional rules per address and date — service-day eligibility, DPW district shift schedules and overrides, daily collection limits, and bonus allocations — documented across six separate flow diagrams for the special items app alone
- Live address verification — migrated eligibility checks from an imported, drift-prone address dataset to live lookups against the city’s own SAM API, retiring the imported data entirely
- A signed-URL upload pipeline for Cartegraph — since browsers can’t attach files to Cartegraph directly, the app uploads photos to cloud storage and a storage trigger pushes each one through automatically, marking the booking complete once uploads land
How We Verified It Was Correct, Secure, and Safe to Ship
Every pull request went through manual code review and manual QA, backed by automated lint and build checks, with a second engineer walking through written QA steps before approval. Production releases followed a written launch checklist covering environment variables, Firestore rules and indexes, and new Cloud Functions. Address eligibility was always verified against the city’s own address data, never anything derived independently.
The Technical Challenge
The hardest part wasn’t the deadline, it was the scheduling logic itself. Deciding whether a single date is bookable for a single address means resolving whether the service runs that weekday at all, whether a same-day cutoff or minimum notice period applies, which collection day applies to that specific address, whether that day has shifted for the address’s Department of Public Works district that week (and whether the shift itself was later canceled), whether an override replaces the normal daily limit, and whether the district is already at capacity or has a bonus allocation raising it. The decision tree for that single step doesn’t fit on a page — it’s one of six diagrams needed to document the special items app alone.
Address data caused a second, quieter problem. The original build imported the city’s full address list into the database at launch, with eligibility computed at import time — workable at first, but the data drifted from the city’s own records, and every eligibility change meant a fresh re-import. The team replaced it with live lookups against the city’s own address API, making eligibility authoritative at request time and retiring the imported dataset entirely.




Results & Impacts
Three Apps, One Platform
What started as a single mattress-pickup tool has grown into three standalone apps — mattress, special items, and recycle carts — all sharing one scheduling engine and all integrated into boston.gov.
~7,000 Items and Counting
As of the most recently published count (February 2025), the platform has processed roughly 7,000 pickups.
An Address System Built to Stay Accurate
Live lookups against the city’s own address API replaced an imported dataset that drifted over time, keeping eligibility accurate without manual re-imports.
Want to see how Aboard could work for a project like this? Get in touch.
A Relationship, Not Just a Project
The city has returned repeatedly over more than two years — for special items, then recycle carts, then the Cartegraph and address-API integrations — proof the platform was built to be extended, not just delivered once.