Nourishing Neighborhoods, Together.
TheFeed is a hyperlocal food-sharing network that connects people experiencing food insecurity with nearby resources and neighbor-to-neighbor support. Built with dignity, privacy, and speed in mind.
- Interactive Map β Mapbox GL-powered discovery of food banks, pantries, and meal programs
- Real-time Status β See what's open now, verified by the community
- Anonymous Access β Find food without creating an account
- AI Sous-Chef β CopilotKit-powered assistant for finding resources, planning meals, and coordinating events
- Community Feed β Share surplus food, organize potlucks, and post requests
- Event Hosting β Create and manage food events with RSVPs and volunteer signups
- Provider Dashboard β Food banks can claim and manage their listings
- Node.js 20+
- Bun 1.1+ (package manager)
- PostgreSQL or Supabase account
# Clone the repository
git clone https://github.com/zenchantlive/TheFeed.git
cd TheFeed/foodshare
# Install dependencies
bun install
# Copy environment template
cp .env.example .envRequired environment variables in .env:
| Variable | Description |
|---|---|
POSTGRES_URL |
PostgreSQL connection string (with sslmode=require for Supabase) |
BETTER_AUTH_SECRET |
32+ character random string (openssl rand -hex 32) |
GOOGLE_CLIENT_ID |
Google OAuth client ID |
GOOGLE_CLIENT_SECRET |
Google OAuth client secret |
NEXT_PUBLIC_APP_URL |
Your app URL (e.g., http://localhost:3000) |
NEXT_PUBLIC_MAPBOX_TOKEN |
Mapbox public access token |
OPENROUTER_API_KEY |
OpenRouter API key for AI chat |
Optional:
| OPENROUTER_MODEL | Model override (default: openai/gpt-4.1-mini) |
| POLAR_WEBHOOK_SECRET | Polar billing webhook secret |
# Generate migrations when schema changes
bun run db:generate
# Apply migrations
bun run db:migrate
# Seed sample Bay Area food banks (optional)
bun run scripts/seed-food-banks.ts# Start development server (with Turbopack)
bun devVisit http://localhost:3000 and explore:
/mapβ Discover food banks and resources/chat-v2β Talk to the AI Sous-Chef/communityβ Browse community posts and events
| Category | Technology |
|---|---|
| Framework | Next.js 15 (App Router), React 19 |
| Language | TypeScript 5.9 |
| Database | PostgreSQL (Supabase) with Drizzle ORM |
| Auth | Better Auth v1.3.34 + Google OAuth |
| UI | shadcn/ui + Tailwind CSS 4 |
| Maps | Mapbox GL JS v3.1 (react-map-gl) |
| AI | Vercel AI SDK + OpenRouter + CopilotKit |
| Fonts | Geist Sans & Geist Mono |
src/
βββ app/ # Next.js App Router pages
β βββ map/ # Food bank discovery map
β βββ chat-v2/ # AI Sous-Chef (CopilotKit)
β βββ community/ # Social feed and events
β βββ api/ # API routes
βββ components/ # React components
β βββ ui/ # shadcn/ui components
β βββ map/ # Map-related components
β βββ events/ # Event components
βββ lib/ # Utilities and database
β βββ schema.ts # Drizzle ORM schema
β βββ auth.ts # Better Auth config
β βββ ai-tools.ts # AI chat tools
βββ hooks/ # Custom React hooks
# Type checking (fast, 2-5s)
bun run typecheck
# Linting
bun run lint
# Full build (slower, production verification)
bun run build
# Pre-commit workflow
bun run typecheck && bun run lint && bun run build- CONTRIBUTING.md β How to contribute
- CODE_OF_CONDUCT.md β Community guidelines
- docs/DEPLOYMENT.md β Vercel deployment guide
- context/ β Architecture decisions and project state
We welcome contributions! Please read our Contributing Guide for details on:
- Setting up your development environment
- Git workflow and branch naming
- Code style and TypeScript standards
- Pull request process
This project is licensed under the MIT License - see the LICENSE file for details.
TheFeed builds on the Agentic Coding Starter Kit (MIT licensed).
- Agentic Coding Starter Kit β Foundation template
- Feeding America β Food bank data inspiration
- Mapbox β Beautiful maps
- CopilotKit β AI assistant framework
Built with β€οΈ by hungry neighbors.