Skip to main content

Farshid Sanati

Freelance Web & Mobile Developer

Revayat-e Shahr (City Narrative) — Map & Stories

Case Study

Historical

Revayat-e Shahr (City Narrative) — Map & Stories

A Persian RTL React Native app for sharing and following firsthand accounts of city life pinned to a map: onboarding, registration with photo, map discovery with clustered markers, search, and story preview cards. Backend was PHP + MySQL. Commissioned by a friend; the app was never released to app stores—documented here as a past build.

Historical case study

This page documents work delivered in the past. The product is not actively maintained today, and links may be outdated. It is here as a portfolio reference only — not an invitation to download or use the app.

Industry
Civic techSocialMapsIranRTLUGC

Role: Full-stack developer

Duration: Not disclosed (unreleased)

Challenge

Hyperlocal storytelling needs trust and geography at the same time: authors must attach context to real streets, and readers must skim a busy map without drowning in pins. Registration had to stay lightweight so people could still explore before committing.

Solution

Combined a cinematic landing flow with deferred registration, then centered the product on a map canvas with clustering semantics, top-level search, and anchored preview cards that bridge map → story. Server-side PHP/MySQL modeled users, narrative posts, and location fields for efficient map responses.

Impact

Delivered a coherent prototype experience for civic micro-storytelling; without a public launch there are no production metrics—value here is proof of product thinking, map UX, and end-to-end mobile + API wiring.

Tech stack

React NativeJavaScriptPHPMySQLREST APIRTLMaps

Project overview

روایت شهر (Revayat-e Shahr) — “City Narrative”: a Persian, RTL React Native app concept where people publish firsthand stories about what is happening around them, tied to real places on a map. Others explore the city through those narratives instead of only generic news feeds.

What we built

  • Onboarding & auth entry — branded splash over a city skyline, paths for login/registration or continuing as a guest (“register later”).
  • Profile registration — display name and optional profile photo capture before joining the community.
  • Map-first discovery — interactive map with pins and cluster-style markers so dense areas remain readable; search and lightweight notifications in the top bar.
  • Story cards — bottom-sheet style previews with author, thumbnail, and location context so readers can jump into a narrative from the map.

Technical approach

React Native for iOS and Android targets, with RTL layout throughout. A PHP application server with MySQL stored users, posts, media metadata, and geo indexes for map queries; the mobile client consumed HTTP/JSON endpoints for feed, map payloads, and uploads.

This was a friend-commissioned build that never reached a public store deployment; reasons were outside our visibility in this archive. Treat it as a historical prototype / portfolio artifact rather than a live product.