# Every place has more than one story

> Source: <https://dev.to/asad_jawed_ee59d2763ac6fc/every-place-has-more-than-one-story-4cod>
> Published: 2026-10-11 19:57:06+00:00

*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
