💡 Inspiration
We often talk about urban planning in broad strokes, but a community’s health isn't measured in city-wide averages; it’s lived at the neighborhood level. While the City of Vancouver provides extensive open data, I noticed a significant gap between raw datasets and actionable community insights.
RedSeed was born to bridge this gap. I realized that residents and social workers often lack a clear, "big picture" view of local food security leading to resource saturation in some areas while others become "food deserts." I built RedSeed to eliminate this ambiguity, providing an intelligent partner that identifies community needs before neighborhoods fall behind.
🚀 What it does
RedSeed is a neighborhood intelligence utility that synthesizes complex urban data into a clear, actionable food security strategy.
- Real-Time Synthesis: The engine fetches live records from the Vancouver Open Data Portal, specifically targeting free meal programs and community gardens.
- Weighted Scoring Logic: Instead of just counting buildings, the tool reasons through impact assigning higher value to immediate relief (Meal Programs: 5pts) versus long-term sustainability (Gardens: 2pts).
- Fuzzy Matching Engine: Built with a Levenshtein distance algorithm, it handles the "unstructured" nature of user input, accurately matching neighborhood names even through typos.
- Interactive Visualization: Beyond the terminal, RedSeed generates Leaflet.js-powered HTML maps, transforming raw coordinates into a visual map of community assets.
🛠️ How I built it
I prioritized Modular Architecture and Data Integrity. I chose a stack optimized for precision and developer happiness:
- Logic: Ruby serves as the primary brain, utilizing a modular class structure for data fetching, analysis, and reporting.
- CLI Framework: Built on Thor for a professional, high-performance command-line experience.
- API DNA: Faraday handles resilient communication with the Vancouver Open Data API, supported by a custom 24-hour JSON caching layer I implemented for lightning-fast performance.
- Test-Driven Foundation: A robust RSpec suite covers the core logic, ensuring that every score calculated is backed by verified data.
🧠 Challenges I ran into
The most significant hurdle was the "Cross-Dataset Consistency" problem. Different city departments use inconsistent keys for neighborhood names (e.g., local_areas vs geo_local_area). Teaching my Analyzer to reliably group these across multiple API sources required deep pattern matching and defensive coding.
Another challenge was Spatial Data Variation. The API provides coordinates in multiple formats (Lat/Lon hashes vs. Coordinate arrays). I had to build a flexible extraction engine to ensure every pin landed exactly where it belonged on the interactive maps.
💪 Accomplishments that I'm proud of
I am incredibly proud of the Generative Reporting Engine. It doesn't just display data; it makes recommendations. Seeing the app successfully identify a low-scoring neighborhood and automatically suggest "Potential sites for new community gardens" was my "Eureka" moment.
📚 What I learned
This project taught me that the future of urban tech isn't about giving users more data, it's about providing Synthesis. I learned how to manage complex API flows while keeping the output humane, approachable, and visually professional.
🗺️ What's next for RedSeed
I envision RedSeed as a tool for city-wide advocacy. My upcoming roadmap includes:
- Demographic Overlay: Integrating census data to correlate food security scores with local income levels.
- Broadening the Asset Scope: Expanding beyond food to include childcare, transit, and green space metrics.
- Automated Advocacy: A one-click feature to generate and email neighborhood reports directly to local city councilors.
⚙️ Built With
- Ruby
- Thor
- Faraday
- Leaflet.js
- RSpec
- Terminal-Table
Built With
- faraday
- html
- json
- leaflet.js
- rspec
- ruby
- terminal-table
- thor
Log in or sign up for Devpost to join the conversation.