This is a submission for the DEV Weekend Challenge: Community
💁🏽♀️ The Community
In my part of the world (Southeast Asia), we have a beautiful culture of "အိမ်နီးနားချင်း", "Gotong Royong" or "Bayanihan." It’s that unwritten rule that if your mango tree is overflowing, you don’t let the fruit rot, you pass it over the fence to your neighbor.
This culture is still alive in some parts of rural areas. However, in our modern, fast-paced neighborhoods, we’ve lost that "over the fence" connection. I built this app to bring that village-style sharing into the digital age.
🥔 What I Built
NextDoor is a lightweight, real-time bulletin board for food sharing. It’s a "zero-waste" tool that lets neighbors post surplus garden harvests, pantry extras, or home-cooked meals.
The Goal is to make sure no wasted food happens in my home or in our neighborhood. And there is also direct-to-WhatsApp integration that skips the "official" sign-up friction and gets neighbors talking instantly.
🏘️ Community-First Features
- Regional Pantry Sharing Specifically designed for the South East Asian kitchen. Whether it's extra Kangkong from the garden, or fresh Lime, the board is built to showcase the flavors of our local community.
- Reliable "Always-On" Board Unlike temporary chat groups where messages get buried, this digital board keeps a permanent record of what’s available. The post stays visible until the item is gone, ensuring nothing in the neighborhood goes to waste.
- Instant WhatsApp Coordination One tap on the green message button opens a direct chat with the owner, complete with a pre-written message asking if the item is still available. It’s the fastest way to say "I'm coming over!"
- Neighbor-Wide "Claim" System When a neighbor clicks "Claim," the item is instantly marked as Reserved for everyone viewing the board. This prevents three different people from showing up at your door for the same bag of mangoes.
- Smart Pantry Discovery Looking for something specific like Eggs or Basil? The search and category filters let you skip the scroll and find exactly what you need in seconds, whether it’s a cooked meal or garden herbs.
- Clean, Color-Coded Interface The board is designed for clarity. Available items are bright and clear, while reserved items are neatly crossed out. The color-coded buttons make it obvious how to reach out or how to grab a spare portion of food.
- Effortless Posting A simple sidebar form allows anyone to list an item in seconds. Just type what you have, how much is available, and your contact info—the board handles the rest, keeping the neighborhood fed and connected.
🌍 Community Impact: Why this Matters
Building a neighborhood food swap isn't just about sharing, it's about creating a sustainable ecosystem right at your doorstep. Here is how NextDoor transforms our local community:
- Zero-Waste Neighborhoods Every bunch of Kangkong or bowl of Pancit shared is one less item ending up in a landfill. By connecting neighbors with surplus food to those who need it, we turn potential waste into shared meals.
- Food Security at the Hyper-Local Level Inflation and rising food costs affect us all. NextDoor provides a safety net where neighbors can support one another, ensuring that fresh produce and home-cooked meals remain accessible within the community.
- Strengthening Social Bonds In a world of digital walls, this platform encourages real-world interaction. Meeting a neighbor at the gate to hand over fresh Cauliflower builds trust and fosters a sense of belonging that traditional social media often misses.
- Supporting Local Home-Cooks It provides a stage for home-cooks to share their passion. Whether it’s a surplus of Ube Halaya or a large pot of Curry, the app helps neighbors discover the culinary talents living just a few doors away.
- Instant Response for Perishables Because the app is designed for speed (with one-tap WhatsApp links), perishable items like overripe mangoes or freshly cooked rice find a home within minutes, rather than hours.
🎲 Demo
The interface is responsive, making it easy for an Uncle at the wet market or a Tita in her kitchen to post an item in seconds.
Link to streamlit:
💻 Code
meemeealm
/
next-door-food-swap-app
A community-driven web app built with Streamlit to share surplus food and reduce local waste.
🍎 NextDoor: Neighborhood Food Swapping App
A localized, community-driven web application designed to reduce food waste and strengthen neighborhood ties. This app allows residents to post extra garden harvests, pantry items, or home-cooked meals for their neighbors to claim.
📸 App Preview
✨ Features
Localized Community Board: A neighborhood-first platform tailored for South East Asian staples—sharing everything from Adobo and Kangkong to Ube and Calamansi.
Persistent SQLite Backend: Robust data management using SQL, moving beyond temporary files to ensure community postings are safely stored and easily retrievable.
Intelligent Search & Categorization: High-performance filtering that allows neighbors to instantly sort through local produce and cooked meals by keyword or regional category.
Seamless WhatsApp Coordination: Direct-to-chat integration via custom-styled API links, featuring pre-filled messages to eliminate friction between neighbors.
Real-time Reservation Logic: A synchronized "Claim" system that updates the database instantly, marking items as "Reserved" across all user sessions…
🧱 How I Built
I wanted this to be fast, free to host, and easy to use.
Most neighborhood apps feel cluttered. I wanted to build a high-performance, localized "Food Swap" platform using Python, Streamlit, and SQLite.
*🗄️ From Volatile to Persistent: SQLite Integration *
By implementing a relational database (SQLite), the app now handles concurrent data more reliably. I built a dedicated Data Access Layer (database.py) to decouple the SQL logic from the UI, making the app modular and easier to scale.
⚡ Real-Time State Management
Instead of relying solely on Streamlit's Session State, I implemented a Database-Driven State for item claiming. When a user clicks "Claim," it triggers an atomic update in the DB. This ensures the "Reserved" status persists across different browsers and server restarts—no more "phantom" items.
📱 Regional UX: WhatsApp API Integration
In South East Asia, WhatsApp is the "Operating System" for the community. I integrated a custom URL generator that deep-links to WhatsApp with pre-filled URI-encoded strings.
User Flow: Click Button >>> Open WhatsApp >>> Automatic Message: "Hi [Owner], is the [Item] still available?"
🔍 Pandas-Powered Querying
To keep the search "snappy," I used Pandas to handle the filtering layer. By reading SQL queries directly into DataFrames, I can perform complex string matching and category filtering on the fly with minimal latency.
🎨 CSS-in-Python (Scoped Styling)
Streamlit can be visually rigid, so I injected a custom CSS injection layer using unsafe_allow_html. This allowed me to override the standard component styling to create a color-coded action system:
Brand Success: WhatsApp Green (#25D366)
Primary Action: Claim Blue (#007BFF)
Secondary Action: Undo Grey (#6C757D)
Interactive Neighborhood Map
This is a dynamic, color-coded map powered by Pydeck and Mapbox/CartoDB. Instead of scrolling through an endless list, users can instantly visualize the "Supply and Demand" of their specific street.
Technical Highlights:
Color-Coded Layers: Items are categorized by type (Vegetables, Cooked Meals, Fruits) with distinct RGB signatures, allowing for instant visual filtering.
Smart Clustering: Uses a custom-calculated ViewState to automatically center the map based on the geographic mean of all active listings.
Interactive Tooltips: Custom HTML/CSS tooltips provide a "Quick View" of item details and quantities without leaving the map interface.
Faker-Powered Geospatial Data: For development, a custom data_generator.py simulates realistic neighborhood distribution using GPS coordinate randomization within a 3km radius.
Thanks for reading!



Top comments (0)