Date Started: February 2026
Last Updated: February 2026
Initial Contributors:
- Eric Adame
- Tim Liles
- Mel Saffold
Current Maintainer: Mel Saffold
| Info | Answer |
|---|---|
| Who is this for? | City of Syracuse residents, City staff, and public-facing web users |
| What does this tool do? | Allows users to enter an address and identify their Common Council district, ward, and councilor |
| Primary Benefit | Removes guesswork for residents and staff when identifying council representation |
| Internal Product Owner | Digital Services / API |
| Departments Involved | Common Council, Digital Services |
| Public-Facing | Yes (embedded on syr.gov pages) |
- Accepts a street address as user input
- Normalizes and parses address data (numbers, ordinals, abbreviations, street types)
- Matches the address against authoritative street range and address datasets
- Displays:
- Council District
- Ward
- Assigned Councilor
If no exact match is found, the tool suggests the closest valid matches.
- Embedded CSV-to-JS datasets:
data.js(street ranges)data2.js(exact address records, where applicable)
No live API dependency. All logic runs client-side.
/index.html → Embed-ready markup /styles.css → Brand-aligned styling /scripts.js → Search, parsing, matching, and rendering logic /data.js → Street range dataset /data2.js → Exact address dataset (when available)
- User types an address into the search field
- Input is normalized (case, abbreviations, ordinals, punctuation)
- Address is parsed into:
- House number
- Street name
- Street base (without suffix)
- The tool attempts:
- Exact address match
- Street range match (including odd/even logic)
- Closest-match suggestion using string distance
- Results are rendered live as the user types
- Edit or replace the CSV-derived arrays in:
data.jsdata2.js
- Maintain column order to avoid breaking parsing logic
- Update the
COUNCILOR_BY_DISTRICTmap inscripts.js
- All visual changes should be made in
styles.css
- Always test changes with:
- Full addresses
- Partial addresses
- Abbreviations (St, Ave, Blvd, etc.)
- Ordinal streets (1st, 2nd, 3rd, etc.)
- Test on mobile widths before merging
- Keep language simple and resident-facing
- Data accuracy depends entirely on the completeness of the street datasets
- Non-standard addresses (rear lots, informal names) may require manual clarification
- Tool does not validate USPS deliverability - it only matches council data
| Date | Change | Impact |
|---|---|---|
| Feb 2026 | Initial release | Residents can identify council representation instantly |
| Feb 2026 | UX + branding refinements | Improved clarity, accessibility, and trust |