Skip to content

Free programs, services, and resources directory for the San Francisco Bay Area

License

MIT, Unknown licenses found

Licenses found

MIT
LICENSE
Unknown
LICENSE-DATA
Notifications You must be signed in to change notification settings

baytides/bay-navigator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

1,113 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Bay Navigator

License: MIT Data License: CC BY 4.0

Level AAA conformance, W3C WAI Web Content Accessibility Guidelines 2.2

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

🎯 Project Goals

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

✨ Features

  • πŸ” 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=baynavigator for 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

βœ… Quality & Compliance

  • 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

πŸ”Œ Static JSON API

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`));

οΏ½ Documentation


Runtime Matrix

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:


Tech Stack

Built with:

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 apps
  • local/ - Mac Mini launchd service configs for data syncs
  • infrastructure/ - Bicep IaC templates

πŸ“‚ Repository Structure

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

🎯 Scope & Focus

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:

  1. Bay Area-specific programs (preferred)
  2. California statewide programs available to Bay Area residents
  3. National programs with Bay Area presence or significant local impact

🀝 How to Contribute

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.

For Everyone: Submit a Program

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

For Technical Contributors

Want to add programs directly or improve the site?
πŸ‘‰ See CONTRIBUTING.md for detailed technical instructions


πŸš€ Quick Start

Using the Static JSON API (Easiest)

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.json

See API_ENDPOINTS.md for complete API documentation.

Local Development

# 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

Regenerating the API

# After modifying YAML files in src/data/
npm run generate-api

# API files are generated in /public/api/ (deployed as /api/)

πŸ“Š Data Structure

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

Available Categories:

  • Childcare
  • Community Services
  • Education
  • Equipment
  • Finance
  • Food
  • Health
  • Legal Services
  • Library Resources
  • Museums
  • Parks & Open Space
  • Pet Resources
  • Recreation
  • Tax Preparation
  • Technology
  • Transportation
  • Utilities

Eligibility Groups:

  • income-eligible - πŸ’³ SNAP/EBT/Medi-Cal recipients
  • seniors - πŸ‘΅ Seniors (60+)
  • youth - πŸ§’ Youth
  • college-students - πŸŽ“ College students
  • veterans - πŸŽ–οΈ Veterans/Active duty
  • families - πŸ‘¨β€πŸ‘©β€πŸ‘§ Families
  • disability - πŸ§‘β€πŸ¦½ People with disabilities
  • lgbtq - 🌈 LGBT+ community
  • first-responders - πŸš’ First responders
  • teachers - πŸ‘©β€πŸ« Teachers/Educators
  • unemployed - πŸ’Ό Job seekers
  • immigrants - 🌍 Immigrants/Refugees
  • unhoused - 🏠 Unhoused
  • caregivers - 🀲 Caregivers
  • foster-youth - 🏑 Foster youth
  • nonprofits - 🀝 Nonprofit organizations
  • everyone - 🌎 Everyone

πŸ”„ Maintenance & Updates

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

πŸ”’ Privacy & Transparency

  • 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=directory so 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.

πŸ™ Acknowledgments

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

Contributors

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.


πŸ“ License

This project uses a dual-license model to ensure proper attribution while maximizing reuse:

Code License: MIT

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.

Data License: CC BY 4.0

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.


Why Dual License?

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

πŸ“§ Contact


Last Updated: February 11, 2026 Hosted on: Azure Static Web Apps

About

Free programs, services, and resources directory for the San Francisco Bay Area

Resources

License

MIT, Unknown licenses found

Licenses found

MIT
LICENSE
Unknown
LICENSE-DATA

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Contributors 5