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:[email protected] 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:[email protected] 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:[email protected] 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:[email protected] name:Daniel Myers]