StealThis .dev
Pages Medium

Travel — City Guide

A warm, walkable city guide for the fictional coastal town of Porto Lumera, organised by neighbourhood. A full-bleed CSS-and-SVG hero opens onto a neighbourhood chip selector and a category filter that together narrow a list of point-of-interest cards — each with a gradient photo, star rating, price tier and best-time badge. A stylised SVG map repositions and highlights its pins to match the active neighbourhood, while a live top-five rail and a heart-driven trip planner keep the whole guide practical and editorial.

Open in Lab
html css vanilla-js
Targets: JS HTML

Code

City Guide

An editorial city guide for the invented harbour town of Porto Lumera, built to feel warm and walkable. The hero is a full-bleed sunset scene rendered entirely from CSS gradients and a layered inline SVG skyline, sitting above a chip-based neighbourhood selector and a small category filter for Eat, Drink, See, Stay and Shop. Choosing a neighbourhood — or any category — instantly narrows the point-of-interest list, where each card pairs a gradient photo, a star rating, a price tier and a best-time badge with a save affordance.

The neighbourhood selector is wired to a first-class map. A stylised SVG plan of the city carries one numbered pin per district along a coral tram line; selecting a chip highlights that district’s pin and dims the rest, and the View on map link on any card jumps the guide straight to it. The pins are keyboard-operable buttons, so the map and the chips stay in sync no matter which control you reach for. A live Top 5 right now rail re-ranks the visible spots by rating as you filter.

Saving works throughout: tap the heart on a card to drop a spot into the Your trip panel, remove it from either place, and a toast confirms each change. The layout is a two-column guide on the desktop that collapses to a single stacked column — map first — on narrow screens, staying legible and tappable down to about 360px.

Illustrative travel UI only — fictional destinations, prices, and maps.