Every place has more than one story A developer built Parallel, an open-source, map-first storytelling platform that lets users attach multiple independent story chapters — history, personal memory, local legend, fiction and editorial — to real-world locations. The stack pairs a FastAPI backend with a Next.js App Router frontend and an optional local PostGIS database, with a design rule that core browsing keeps working when AI, audio or storage are unavailable; the AI-assisted "concierge" discovery feature uses Gemma4 32B but falls back to deterministic, grounded ranking that needs no model key. Map tiles come from OpenFreeMap, which requires no key or signup, so the full stack can be self-hosted by local writers or historical societies. This is a submission for the Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass https://dev.to/challenges/hacktoberfest-week1-2026-10-05 Parallel is a map-first storytelling platform for discovering and sharing stories tied to real places. A single location can hold many independent story chapters: history, personal memory, local legend, fiction, and editorial pieces. Instead of scrolling a feed, you open a map, pick a place near you, and read what people have said about it. Visits are self-reported, so the app records that you went somewhere but never claims to verify it. The goal is to pull people toward the street they are standing on. It is for people who walk around cities and want more context about what they pass, and for writers and local historians who want to publish sourced stories about specific places. Every place has more than one story. Parallel is a map-first storytelling platform for discovering and sharing stories connected to real places. A location can hold many independent story chapters. parallel/ ├── apps/ │ ├── backend/ FastAPI API Python │ └── frontend/ Next.js App Router TypeScript ├── docs/guide.md Development, configuration, and integration guide ├── .env.example ├── docker-compose.yml Optional local PostGIS database └── SETUP.md Prerequisites: Node.js 22+, npm, Python 3.12+, uv , and Git. Docker Desktop is only needed if you run the local PostGIS container. .env.example to .env and apps/frontend/.env.local.example to apps/frontend/.env.local . apps/backend , run uv sync --extra dev , uv run alembic upgrade head , then uv run uvicorn app.main:app --reload . apps/frontend , run npm install , then npm run dev . The design rule is that core browsing must keep working when AI, audio, or storage are unavailable. The AI-assisted discovery in the "concierge" feature has a deterministic, grounded fallback that needs no model key. Narration and map tiles are optional and configured through environment variables. AI model: Gemma4 32B Open source lets a platform like this run on tools anyone can inspect. The codebase, schema, migrations, and API contract are all public, so a neighbourhood historical society or a local writer can self-host it without a vendor relationship. The map uses OpenFreeMap tiles, which need no key or signup, so a new contributor can run the full stack locally. Keeping AI optional matters too. Because the deterministic ranking works without a model, the product is not tied to any single closed API, and a story about a place does not depend on a model being available. 1.Best Use of Render 2.Best Use of Render Gemma 3.Best Use of Eleven Labs 4.Best Use of Sentry