Installable PWA prototype
Jalan Jalan
A mobile-first Singapore PWA that turns a casual prompt into a budget-aware local exploration route.


- Categories
- PWA
- Year
- 2026
- Role
- Creator
Premise
Plan a local afternoon from the way people actually ask.
Jalan Jalan turns a casual request about area, time, budget, category, and vibe into a small Singapore route with estimated orders, timing, walking distance, and saved favorites.
A guided planning mode sits beside the natural prompt for people who prefer predictable choices, use assistive technology, or are less comfortable typing in English.
Interaction
A prompt becomes a route that can leave the app.
Describe
Enter a neighborhood, timing, budget, category, and preferred pace.
Refine
Use guided controls for walking, step-free preference, vegetarian options, or halal verification.
Generate
Build a route from the sample Singapore place dataset and client-side rules.
Navigate
Open the route in Google Maps or use the provided external search links.
Keep
Rename, reopen, copy, share, or delete a saved route in the browser.
System
A static PWA with a deliberately replaceable data boundary.
The current build needs no backend or provider key. Production mapping and place data are described as future adapters rather than simulated live services.
Input
- Natural prompt
- Guided controls
- Comfort options
- Validation
Planner
- Client-side parsing
- Sample place data
- Budget estimates
- Route ordering
Output
- Route summary
- Maps links
- Saved routes
- Native share or clipboard
- Offline shell
- The service worker caches the installable application shell and generated hero asset.
- Provider choice
- Google Maps URLs work without a key while a production adapter can later support Places and Routes APIs.
Boundaries
Every useful estimate is labelled as an estimate.
| Need | Current implementation | Production requirement |
|---|---|---|
| Places | Sample Singapore dataset | Live opening hours, ratings, photos, and place identifiers |
| Routing | Estimated order, timing, and walk distance | A licensed route optimization provider |
| Comfort | Visible route preferences and reminders | Verified accessibility and dietary data |
| Trends | Curated tags and compliant search links | Approved partner data with evidence and dates |
Build notes
Inclusive input changes the route, not only the settings screen.
Two planning styles
Natural language and guided controls reach the same planner without forcing one interaction mode.
Comfort-aware output
Less walking and a relaxed pace produce shorter plans, while step-free and dietary preferences stay visible for verification.
Installable utility
The manifest, icons, service worker, focus states, skip link, and reduced-motion behavior make the static prototype usable as a PWA.
Still unresolved
The next useful layer is live local context.
Real place data
Opening hours, accessibility, ratings, and route timing need production mapping APIs.
Language and voice
Multi-language interface strings, voice input, and read-aloud summaries remain future work.
Street conditions
Crowds, weather, toilets, seating, and lift or escalator availability are not available in the current prototype.