Daily AI-Enhanced 311 Report for San Francisco’s Castro

SF Castro 311 Dashboard Summary — 2025-08-24 Raw Metrics Total cases: 70 Open: 41 Closed: 29 Request Type Breakdown request_type cnt Street and Sidewalk Cleaning 26 Graffiti Public 11 Parking Enforcement 8 General Request 6 Encampment 3 Tree Maintenance 3 Noise 2 Blocked Street and Sidewalk 2 RPD General 2 Sidewalk and Curb 2 Sewer 1 Graffiti Private 1 Muni Employee Feedback 1 Muni Service Feedback 1 Street Defect 1 Average resolution time: 1.5 hrs Open-case aging: 0–1 d=3, 1–3 d=38, 3+ d=0 AI Report SF_OpenCloseReport: {date} ...

September 16, 2025 · 1 min · map[bio:Personal website for Daniel Myers email:hello@danielmyers.xyz name:Daniel Myers]

A Daily-Updating 311 Dashboard for SF's Castro

I live in San Francisco’s Castro neighborhood and wanted a better way to keep an eye on what’s going on — potholes, graffiti, tree issues, and other service requests. Instead of waiting for monthly digests or digging through city dashboards, I built my own live map. This was a chance to flex my GIS skills and stitch together an open-source stack I fully control — from ETL and spatial filtering to GeoServer and a React Leaflet frontend. Now I can check what’s happening in the neighborhood any time, from any device. ...

May 27, 2025 · 3 min · map[bio:Personal website for Daniel Myers email:hello@danielmyers.xyz name:Daniel Myers]

Building a Personal GeoServer & PostGIS Stack

Building a Personal GeoServer & PostGIS Stack I’ve worked with ArcGIS Online, ArcGIS Enterprise, and Microsoft SQL Server throughout my GIS career. I wanted a way to explore serving geospatial data using open-source tools and cloud infrastructure. That led me to build a personal GeoServer and PostGIS stack. I wanted a mini-server setup I could tinker with, break, rebuild, and use for hobby projects without relying on enterprise software. Here’s how I built it. ...

May 25, 2025 · 2 min · map[bio:Personal website for Daniel Myers email:hello@danielmyers.xyz name:Daniel Myers]

ChatGPT Zoning Chatbot

Building a Zoning Chatbot with GeoPandas, Folium, and the OpenAI API I wanted to create a proof-of-concept chatbot that could answer basic zoning questions using spatial data. The idea was simple: enter an address, and get back a zoning summary with a map. I used a combination of Python tools I already lean on—GeoPandas, Folium, and the OpenAI API—and wired them up into a notebook that does just that. 🧠 The chatbot takes in an address, geocodes it with Nominatim, runs a spatial join with a zoning geojson (in this case, for Marin County), and then sends the resulting zoning description to the OpenAI API for summarization. It returns both the original zoning text and a cleaned-up explanation in plain English. I also generate an interactive map with Folium showing the parcel boundary and surrounding zoning. ...

May 16, 2025 · 2 min · map[bio:Personal website for Daniel Myers email:hello@danielmyers.xyz name:Daniel Myers]

Zoning Lookup Tool

🛠️ Zoning Lookup Tool — Technical Breakdown This application is a browser-based GIS tool built using the ArcGIS API for JavaScript (v4.27), designed to help users search and interactively query zoning information for Marin County, CA. 🔧 Features and Architecture Framework: The app is written in plain JavaScript and styled with custom CSS and the ArcGIS dark theme. Map Initialization: Uses a MapView with a default zoom centered on Marin County. A custom extent is defined for a consistent viewport. Search Integration: The Esri Search widget enables address and Parcel ID lookups, which trigger FeatureLayer intersections. Layer Queries: Parcel, zoning, and general plan layers are all hosted in ArcGIS Online and queried dynamically using spatial intersects relationships. Intersection Logic: A unified query checks all layers and extracts the smallest relevant feature to reduce ambiguity. UI Rendering: Results are displayed in a sidebar panel. The view automatically zooms to the selected parcel or clicked feature. Performance Optimization: Layers are hidden by default and only displayed at appropriate zoom levels based on view.scale watchers. 📦 Tech Stack ArcGIS API for JavaScript (CDN) Static HTML/CSS/JS, deployed on GitHub Pages Hosted ArcGIS Online feature layers Fully client-side, no server-side code 🖼️ Architecture Diagram ...

May 9, 2025 · 1 min · map[bio:Personal website for Daniel Myers email:hello@danielmyers.xyz name:Daniel Myers]