BayNavigator.org β A searchable directory of free and low-cost programs across the San Francisco Bay Area.
Find benefits and discounts for:
- π³ Income-eligible (e.g., SNAP/EBT and Medi-Cal recipients)
- π΅ Seniors (65+)
- π§ Youth
- π College students
- ποΈ Veterans and active duty military
- π¨βπ©βπ§ Families and caregivers
- π§β𦽠People with disabilities
- π€ Nonprofit organizations
- π Everyone
This community-driven resource aims to:
- Improve awareness of local programs and benefits
- Support financial accessibility across the Bay Area
- Reduce stigma around using assistance programs
- Promote community engagement and local exploration
- π Smart Search - Fuzzy search with typo tolerance and search suggestions
- π·οΈ Category Filters - Browse by type (Food, Health, Transportation, Technology, etc.)
- π Location Filters - Find programs by county or area
- π₯ Eligibility Filters - See only programs you qualify for
- βΏ Accessibility Toolbar - Font size (50-200%), high contrast, dyslexia-friendly fonts, focus mode, keyboard navigation
- π± Mobile-Optimized - Works great on phones, tablets, and computers
- π PWA with Offline Support - Install as an app from the utility bar; service worker caching for offline access
- π¨ Theme Support - Light, dark, and auto modes with manual override
- π€ Carl AI Assistant - Self-hosted AI chat (vLLM + Qwen2.5-3B) with program search, municipal code lookup, and crisis support
- π Privacy-First - No personal data or cookies; self-hosted Plausible with aggregate metrics only
- π Transparent Referrals - External program links carry
utm_source=baynavigatorfor anonymous impact tracking; no compensation or referral fees - π§ Step Flow + Local Preferences - Set eligibility and county in a guided overlay; preferences are saved only in your browser (local storage). No accounts or email subscriptions
- β¨οΈ Keyboard Shortcuts - Ctrl/Cmd+K for search, full keyboard navigation support
- Data validation:
npm run validate:data(schema + referential integrity checks) - Accessibility checks:
npm run test:a11y(axe-core + Playwright, desktop + mobile) - PWA caching: network-first for
/api/*.json, cache-first for immutable build assets
Bay Navigator provides static JSON API files for accessing program data:
Base URL: https://baynavigator.org/api/
Endpoints:
/api/programs.json- All programs (600+ total)/api/programs/{id}.json- Individual program by ID/api/categories.json- All categories/api/areas.json- Geographic service areas/api/eligibility.json- Eligibility types/api/metadata.json- API metadata
Features:
- β‘ Fast (CDN-cached, ~10-50ms response time)
- π Global CDN via Azure Static Web Apps
- π° Free to use
- π Open source
- π Updated automatically via GitHub Actions
Example:
fetch('https://baynavigator.org/api/programs.json')
.then((res) => res.json())
.then((data) => console.log(`Found ${data.total} programs`));- Contributing Guide - How to contribute
- API Documentation - Static JSON API endpoints (see also OpenAPI spec)
- Accessibility - WCAG 2.2 AAA compliance details
- All Documentation - Complete docs directory
Use these versions for local development and CI parity:
- Node.js: 22.x LTS
- npm: 10+
- Git: latest stable
- Flutter (optional, mobile app work): 3.x
- Dart (optional, mobile app work): 3.x
Contributor setup docs reference this section:
Built with:
- Astro - Static site generator
- Tailwind CSS - Utility-first CSS framework
- Azure Static Web Apps - Hosting and CDN
- vLLM + Qwen2.5-3B - Self-hosted AI (Carl)
- Typesense - Self-hosted typo-tolerant search
- Fuse.js - Client-side fuzzy search (offline fallback)
- Flutter + SwiftUI - Mobile/desktop apps
- Cloudflare - CDN, DDoS protection, AI proxy
- YAML - Structured data storage for programs
- Static JSON API - Generated from YAML via Node.js script
Key Directories:
src/data/- Program data organized by category (YAML files)src/components/- Astro components (SmartAssistant, SearchBar, etc.)scripts/- Build, sync, and scraping scripts (100+)azure-functions/- Serverless backend (geocoding, push notifications)apps/- Flutter mobile/desktop + Swift native iOS appslocal/- Mac Mini launchd service configs for data syncsinfrastructure/- Bicep IaC templates
bay-navigator/
βββ src/
β βββ data/ # Program data (YAML) β source of truth
β βββ components/ # Astro components (SmartAssistant, SearchBar, etc.)
β βββ pages/ # Route pages
β βββ layouts/ # Page layouts
β βββ i18n/ # Internationalization (11 languages)
β βββ styles/ # CSS stylesheets
βββ public/api/ # Generated JSON API (auto-generated at build)
βββ apps/ # Flutter mobile/desktop + Swift native iOS
βββ azure-functions/ # Serverless backend (geocode, push, congress)
βββ scripts/ # Build, sync, and scraping scripts (100+)
βββ local/ # Mac Mini launchd configs for data syncs
βββ workers/ # Cloudflare Workers (AI proxy)
βββ infrastructure/ # Bicep IaC templates (Tor, etc.)
βββ tests/ # Playwright E2E + unit tests
βββ docs/ # Documentation
βββ README.md
This resource focuses on Bay Area programs. National or statewide programs are included when they:
- Have specific Bay Area locations or chapters
- Provide significant value to Bay Area residents
- Are widely used and impactful (e.g., Museums for All)
Geographic priority:
- Bay Area-specific programs (preferred)
- California statewide programs available to Bay Area residents
- National programs with Bay Area presence or significant local impact
We welcome contributions! There are two ways to help:
Note: By submitting a listingβwhether via pull request, issue, email, or APIβauthorized representatives acknowledge and agree to our Terms of Service, Partnership Requirements, and Non-Discrimination Policy.
Found a resource that should be listed? π Open an issue with:
- Program/service name
- Who it helps (eligibility)
- What benefit it provides
- Official website link
- Location/area served
- Any deadlines or special requirements
Want to add programs directly or improve the site?
π See CONTRIBUTING.md for detailed technical instructions
Access all program data via our static JSON API:
# Get all programs
curl https://baynavigator.org/api/programs.json
# Get categories
curl https://baynavigator.org/api/categories.json
# Get a specific program
curl https://baynavigator.org/api/programs/alameda-food-bank.jsonSee API_ENDPOINTS.md for complete API documentation.
# Clone the repository
git clone https://github.com/baytides/baynavigator.git
cd baynavigator
# Install dependencies
npm install
# Run local server
npm run dev
# View at http://localhost:4321# After modifying YAML files in src/data/
npm run generate-api
# API files are generated in /public/api/ (deployed as /api/)Programs are stored in YAML files under src/data/. Each program follows this format:
- id: unique-program-id
name: Program Name
category: Category Name
area: Geographic Area # County, "Bay Area", "Statewide", or "Nationwide"
city: City Name # Optional: specific city
groups:
- income-eligible # Eligibility groups
- seniors
- everyone
description: Brief description of the program
what_they_offer: | # Detailed benefits (optional)
- Benefit 1
- Benefit 2
how_to_get_it: Steps to access the program (optional)
timeframe: Ongoing
link: https://official-website.com
link_text: Apply- Childcare
- Community Services
- Education
- Equipment
- Finance
- Food
- Health
- Legal Services
- Library Resources
- Museums
- Parks & Open Space
- Pet Resources
- Recreation
- Tax Preparation
- Technology
- Transportation
- Utilities
income-eligible- π³ SNAP/EBT/Medi-Cal recipientsseniors- π΅ Seniors (60+)youth- π§ Youthcollege-students- π College studentsveterans- ποΈ Veterans/Active dutyfamilies- π¨βπ©βπ§ Familiesdisability- π§β𦽠People with disabilitieslgbtq- π LGBT+ communityfirst-responders- π First respondersteachers- π©βπ« Teachers/Educatorsunemployed- πΌ Job seekersimmigrants- π Immigrants/Refugeesunhoused- π Unhousedcaregivers- π€² Caregiversfoster-youth- π‘ Foster youthnonprofits- π€ Nonprofit organizationseveryone- π Everyone
This is a community-maintained project. Programs are verified periodically, but:
β οΈ Always check the official website for the most current information- π Availability and eligibility requirements can change
- π If you find outdated info, please open an issue
- No personal data, no cookies: The site does not collect or store personal information and sets zero cookies.
- Self-hosted Plausible (aggregate only): We use a self-hosted Plausible Analytics instance that records aggregate metrics (utm/source, country, browser, OS, visit counts) without IPs, cookies, or user identifiers.
- AI-powered features: Carl AI uses self-hosted vLLM (Qwen2.5-3B-Instruct) running on a dedicated Mac Mini β queries never leave our infrastructure and are not stored or used for training. Simple Language accessibility uses Azure OpenAI (GPT-4o-mini).
- Mobile app crash reporting: Optional Sentry crash reporting in mobile apps (can be disabled). See our Privacy Policy for details.
- Standardized UTMs for impact: External program links include
utm_source=baynavigator&utm_medium=referral&utm_campaign=directoryso program partners can see anonymous referral volume; no per-user tracking. - No compensation or paid placement: We do not receive fees, commissions, or referral payments for any listings or links.
- Security: Cloudflare (Project Galileo) provides TLS, CDN, and DDoS protection; hosting and API run on Azure Static Web Apps. Tor hidden service available for censorship-resistant access.
This project is maintained by volunteers who believe in making community resources more accessible. Special thanks to:
- All contributors who submit programs and updates
- Organizations providing these valuable services
- The open-source community for the tools that make this possible
Thanks to these wonderful people who have contributed to Bay Navigator:
To add a contributor, comment on an issue or PR with:
@all-contributors please add @username for code, content, doc, etc.
See the Emoji Key for contribution types.
This project uses a dual-license model to ensure proper attribution while maximizing reuse:
All code, including HTML, CSS, JavaScript, Astro components, and configuration files, is licensed under the MIT License.
You are free to:
- Use the code commercially
- Modify and distribute
- Use privately
Requirements:
- Include the MIT license and copyright notice
- Provide attribution to Bay Navigator
See LICENSE for full details.
All program data in src/data/ is licensed under Creative Commons Attribution 4.0 International (CC BY 4.0).
You are free to:
- Share and redistribute the data
- Adapt and build upon the data
Requirements:
- Give appropriate credit to Bay Navigator
- Provide a link to the license
- Indicate if changes were made
Suggested attribution:
Program data from Bay Navigator (https://baynavigator.org)
licensed under CC BY 4.0
See LICENSE-DATA for full details.
This approach ensures:
- Credit where credit is due - Both licenses require attribution
- Maximum community benefit - Other cities can create similar resources
- Commercial use allowed - Apps, tools, and services can be built using our work
- Open source forever - All improvements benefit the community
- π Found a bug? Open an issue
- π‘ Have a suggestion? Start a discussion
- π¬ Other inquiries: Create an issue and we'll respond
Last Updated: February 11, 2026 Hosted on: Azure Static Web Apps