WhatToSee · Board
← Home
01 · Big picture

One dataset, three surfaces, one pilot, national scale

If you understand nothing else on this board, understand this diagram. Everything else is detail underneath it.

WhatToSee A structured local discovery guide to the places, experiences and things genuinely worth knowing about, seeing, visiting or doing, not a directory of every business that exists.

Core Colchester

Reasonably understood as being in Colchester

Town centre, Dutch Quarter, Lexden, Highwoods, Stanway

Near Colchester

Own identity, naturally relevant to a Colchester day out

Wivenhoe, Mersea, Dedham, Marks Tey

Outside scope

Belongs to another future town

Chelmsford, Clacton, Harwich

Flagged here first so Liam doesn't have to go looking. Still proposal-stage examples, not yet approved, full rules and the rest of the product definition on Foundation →

WHATTOSEE
One local dataset
Places, events, categories, attributes, one record per place, not per surface

Website

Plan & discover
SEO / AI search
Editorial, What's On, New

Map

In the moment
QR / search
Directions

Council

Infrastructure
Deployment
Honest analytics
Equal width above is the product model, not the build order. These are three surfaces of one dataset, that's what WhatToSee is. What gets built first is a different question, answered on Build Plan: website architecture first, map is completed Phase 1 infrastructure, council product already live.
Colchester pilot
Prove the model on one town before replicating anything
National scale
Same system, new town data, not a rebuild
The data end-game, not yet built
Real footfall / movement data. Deliberate future decision, not started, see below

The one-line version

A shopping-centre kiosk, but for an entire town, on your own phone.

The end game: what real footfall data would add, and why it isn't here yet

The original IndoorMaps thinking always had a fourth layer beyond the three surfaces: the data itself becoming valuable, real movement and demand intelligence a council or a licensing partner would pay for on top of the map/website/kiosk product. That layer needs real footfall, did someone actually walk somewhere, how long did they stay, not just what they searched or clicked.

Flagged 11 Sep, still true: Mapbox renders the map, it does not track movement. It's a rendering library, not a footfall data source. Everything currently tracked (searches, filters, place views, direction requests, see Tracking) is real local-intent data, genuinely useful, but it is not proof anyone physically went anywhere.

Getting real footfall needs one deliberate decision, not yet made: consent-gated browser geolocation, QR re-scan inference across multiple physical points (scan at the station, scan again at the attraction), or a different vendor/approach entirely. Each has real cost and privacy tradeoffs worth a dedicated pass when it's actually needed, not before. Named on Bank so it doesn't get assumed as already solved.

What WhatToSee should not try to become

Not a full SEO content farm (quality over volume, always). Not a native app for V1 (scan and go, deliberately). Not a Google Maps competitor on generic search (win on local depth and council infrastructure, not global coverage). Not a pay-to-appear directory (unclaimed places stay listed, paid tiers enhance visibility, never buy existence). Not county/region pages manufactured to fit a hierarchy that doesn't reflect real demand.
02 · Foundation

Define the product before building more of it

The rules that decide what belongs in WhatToSee, the geography, the entity model, and the data schema the Colchester dataset gets built on. Proposal stage, not yet approved, see the end of this tab for what still needs sign-off. The map is completed Phase 1 infrastructure, not the focus here, see Map System.

1. What is WhatToSee?

WhatToSee A structured local discovery guide to the places, experiences and things genuinely worth knowing about, seeing, visiting or doing, not a directory of every business that exists.
We include
AttractionsIndependent shopsCafés & restaurantsPubs ParksPlaygroundsWalks & trailsHistoric places Local gemsActivitiesVenuesMarketsEvents Interesting public spaces
We don't try to list
GP surgeriesAccountantsGeneric professional services SupermarketsWarehousesRoutine convenience businesses Every national-chain branchBusinesses simply because they exist
The test: if the only interesting thing about it is that it exists and has an address, it probably doesn't belong in WhatToSee.
The question: would a local or visitor reasonably want to know about, see, visit or do this?

2. Geography

UK
England
Essex
Colchester
Area
Place
Data hierarchy, exists now

Every level above is a real field in the schema from day one.

Public website, only where useful

Essex/England never need a consumer page just because the data supports it. Colchester and Area are the only levels live today.

Core Colchester

Reasonably understood as being in Colchester

Town centre
Dutch Quarter
Lexden
Highwoods
Stanway

Near Colchester

Own identity, naturally relevant to a Colchester day out

Wivenhoe
Mersea
Dedham
Marks Tey

Outside current scope

Belongs to another future town/area

Chelmsford
Clacton
Harwich
Do not use an arbitrary radius as the primary definition. Geographic identity and usefulness come first, distance second. The precise Core/Near lists above are examples, still subject to approval before the full sweep.

3. What gets included?

Potential place / thing
Automatically excluded?
GP, dentist, accountant, generic office, warehouse, supermarket, petrol station
No → genuine discovery reason?
Would a local or visitor want to know it exists, see it, visit it, do it

Core

Include

Nearby

Include as nearby

Outside

Exclude / bank

Four real statuses on every record: Include Include as nearby Review Exclude

4. Local & independent

An important part of the product, and deliberately an attribute, not a top-level category.

Independent café, example
CategoryEat & Drink
TypeCafé
IndependentYes
LocalYes
AreaTown centre
Good forCoffee, lunch, quick stop
SituationsVisitors, rainy day, local favourite
IndependentSmall local chainNational chainPublicCharity / communityInformal

Plus a separate local: yes/no field. A small Essex chain can be local without being independent, the two are different axes, not one.

5. Core object model

Place

A physical location someone may visit

Organisation

The operator, may run several Places

Event

Something happening at a date/time

Route

A walk, trail or itinerary

Area

Neighbourhood or district grouping

Collection

An editorial grouping, a Guide

Area

  • Contains Places

Place

  • The centre of the model

Organisation

  • Operates one or more Places

Event

  • Happens at a Place

Route

  • Links several Places

Collection

  • Groups Places, Events, Routes

Activity / Experience is treated as an attribute or type, not a seventh core entity Reconsider if the real dataset proves otherwise. Don't over-engineer this ahead of evidence.

6. Taxonomy

See & Visit

Do & Explore

Eat & Drink

Shop & Browse

Find / Practical

Navigation ≠ Category ≠ Entity type ≠ Attribute ≠ Situation ≠ Filter ≠ Collection

Colchester Castle
EntityPlace
CategorySee & Visit
TypeMuseum / historic attraction
AttributesIndoor, paid, historic
SituationsWith kids, rainy day, visitors
CollectionsHistoric Colchester, Things to do with visitors

Full breakdown of the seven layers, with the navigation/taxonomy items themselves, on Website Architecture. This matters because we do not want hundreds of unnecessary categories or URLs.

7. Situations & intents

May deserve a hub / URL

With kids
Free
Rainy day
Accessible
Dog friendly

Better as editorial / collection

Date ideas
Hidden Colchester
Half-day ideas
Something different
Local favourites

Better as filter / live state

Near me
Open now
Tonight
Evening
Walking distance
Time available
Marked proposed, not permanently locked. The real Colchester dataset should determine whether there's enough genuine content to justify a standalone page, per the pipeline in section 8.

8. The data foundation

Master Colchester data

Place

Category

Situation

Area

Place pages

Guides / lists

What's On

Map

Search / AI / discovery
We build the structured Colchester dataset before creating large numbers of pages. One canonical dataset powers the website, rather than maintaining disconnected pages by hand.

9. Master data structure

Fifteen field groups on the Place record, expand any card for the actual proposed columns.

Identity
idnamedisplay nameentity typeprimary categorysecondary categories
Organisation
operatorownership typelocal
Geography
addresspostcodelat/lngtownareacore/nearbyparent geography
Description
factual descriptioneditorial descriptionwhy includedwhat makes it different
Contact / action
websitephonebooking URLticket URLsocial links
Opening
hours, linked tableseasonaltemporarily closedbooking required
Price
freeprice bandadult pricechild priceprice notes
Suitability
childrenfamiliescouplesgroupssolotouristslocals
Experience
indoor/outdoortypical durationrainy-day suitableevening suitablebusy level
Facilities
parkingtoiletsaccessible toiletbaby changingfood/drinkseating
Accessibility
wheelchair accessstep-freeaccessible parkinginfo URLknown limitationsconfidence
Discovery attributes
good for kidsfreerainy daydate ideahidden gemlocal favouriteindependentdog friendlyscenichistoric
Relationships
nearby places, linked tableeventscollectionsguides
Editorial
why gobest forWhatToSee noteslocal insighteditorial priorityhero-worthy
Data quality
last verifiedconfidencemanually reviewedbusiness claimedneeds reviewinclusion status

Linked tables, not columns on Place, because a single column can't hold them cleanly:

Opening hoursImagesRelationshipsEventsField sources / provenance

Full column list, plus the Event and Route tables: PRODUCT-DEFINITION-AND-DATA-SCHEMA-PROPOSAL-11sep2026.md.

10. Data provenance

Fact
Source
Last checked
Confidence
FactTypical source
Opening hoursOfficial venue
CoordinatesGeographic source
AccessibilityVenue / accessibility source
Editorial recommendationWhatToSee
Event dateEvent organiser

Different facts about the same Place can, and usually do, have different sources. One place_field_sources table, not source columns bolted onto every field.

11. Colchester collection process

Define rules
Approve schema
Discovery sweep
Raw master data
Clean / dedupe
Classify
Enrich
Editorial review
Publish
Verify / refresh
See & VisitDo & ExploreEat & DrinkShop & Browse Culture / EntertainmentLocal GemsEvent Infrastructure

Local Gems is its own dedicated research pass, not folded into the category sweeps, it needs the community-source method in section 15, not ordinary search.

12. Two-pass data method

Pass 1, find everything
Name
Type
Location
Category
Official source
Local/independent status
Why it qualifies
Pass 2, make it useful
Hours
Price
Suitability
Duration
Facilities
Accessibility
Editorial insight
Situations
Nearby relationships
Images
Verification

Pass 1's objective is coverage. Pass 2's objective is quality. Don't let perfecting one record slow down finding the next.

13. Example records

FieldColchester CastleIndep. café *Castle Park playgroundRiverside walk *Highwoods Country ParkLocal pub *Hidden gem *Colchester Arts Centre
TypeMuseumCaféPlaygroundRouteOpen spacePubMural / landmarkArts centre
CategorySee & VisitEat & DrinkDo & ExploreDo & ExploreDo & ExploreEat & DrinkSee & VisitSee & Visit
OwnershipPublicIndependentPublicn/a, routePublicIndependentInformalCharity
Why includedMajor heritageIndependent, localFree family activityFree outdoorLarge free green spaceLocal characterLocal knowledgeGenuine cultural venue
Duration1-2 hoursQuick stopQuick stop1 hourHalf dayQuick stop / eveningQuick stopEvening

* Illustrative example, not asserted as a verified real business, the sweep finds the actual ones.

14. Build dependency

Name / product
Geography
Inclusion rules
Entity model
Taxonomy
Data schema
Colchester sweep
Place entities
Place pages
Discovery hubs
What's On / New / Guides
Commercial
Expansion

Structured data also powers

Map · Phase 1 Live

Stays banked

Richer map · Phase 2 Bank

The map is a branch off this trunk, consuming the data, not the trunk itself. See Map System for the Phase 1 / Phase 2 detail.

Ongoing editorial & weekly operation

WhatToSee isn't a database built once and left alone. The structured data is the foundation, running it needs a real weekly local editorial operation on top.

Core local database
Current local intelligence
Weekly editorial
What's On + Best + Guides + New
Website / search / AI / social

Build once, collect initially, operate continuously, periodic

Build once

  • Architecture
  • Templates
  • Data model
  • Place / Event / Guide systems
  • Town framework

Collect initially

  • Colchester places
  • Areas
  • Routes
  • Initial guides
  • Initial event sources

Operate continuously

  • What's On
  • New openings / closures
  • Best/guide updates
  • Seasonal content
  • Data verification

Periodic

  • Dataset audit
  • Category review
  • Guide refresh
  • Commercial review
  • Expansion to another town

Editorial content formats, not an open blog taxonomy

Best

Dog walks, independent cafés, beer gardens

What's On

This weekend, Bank Holiday, half term

Ideas

Two hours in Colchester, rainy afternoon

New

New openings, coming soon, recently opened

Routes / days out

A walk and lunch, half-day itinerary

Local guides

Dutch Quarter, Castle Park, Independent Colchester

No generic /blog/. Someone browses WhatToSee by what they want to discover, not by whether something happened to be written as an article. Everything lives in one of the six formats above.

What's On: evergreen, not an expired-page archive

One permanent evergreen hub shows the current live list. Recurring dated moments (Bank Holiday, Christmas) get one evergreen slug refreshed every year, not a brand-new URL each occurrence, so the site never accumulates hundreds of dead weekly pages.

Twelve-month editorial calendar

Jan

Indoor, cheap, winter walks

Feb

Half term, Valentine's

Mar

Spring walks

Apr

Easter, family activities

May

Bank holidays, beer gardens

Jun

Outdoor events, parks

Jul

Summer holidays, festivals

Aug

Picnics, festivals

Sep

What's new, autumn

Oct

Half term, Halloween

Nov

Christmas markets, lights

Dec

Festive food, pantomimes

Plus Bank Holidays, school holidays, Mother's/Father's Day and major local festivals layered on top.

Weekly publishing rhythm, an example, improve it if simpler works

Monday

What's happening. Review next 2-4 weeks, add/update events.

Tuesday

Local data. New places, closures, changes, records due for verification.

Wednesday

Best / guide. One strong evergreen discovery piece, created or updated.

Thursday

Weekend. What's on this weekend, family ideas, live music.

Friday

Discovery / new. Something new, overlooked, independent or interesting.

Content comes from the database, not a separate article pile

Structured Place data
+
Human editorial judgement
=
Useful local guide

"Best dog walks in Colchester" references real Place/Route entities (Highwoods, specific routes, specific parks), each keeping its own location, facilities and dog-suitability data. The Guide supplies the narrative and judgement, the database supplies the facts.

Content / idea bank

Idea Seasonal Researching Ready Live Update due Retired

Proposed titleUser questionContent typeRelevant places SituationSeason / dateSearch opportunityEditorial reason Publication targetLast updatedNext review

An idea does not need a full brief to enter the bank, minimum viable capture is the title, why it's interesting, and what data it connects to.

Editorial instinct, not just a content calendar

What would somebody actually want to click, save, send to somebody, search for, or suddenly decide to go and do? Part strong local guide, part the better end of BuzzFeed-style publishing.

The database answers

What exists?

The editorial layer asks

Why might somebody care right now?

One pub, several possible guides

A pub's own data (live music, beer garden, Sunday lunch, dog friendly, independent, outdoor seating) can each seed a different piece:

Best pubs for live musicBest beer gardensDog-friendly pubs Where to go for Sunday lunchPubs worth taking visitors to

Content can start with a moment, not just keyword research

Weather

First warm weekend, heavy rain, heatwave, snow

Calendar

Bank Holiday, half term, Valentine's, Christmas

Local buzz

New opening, closure, festival announced

Behaviour

Everyone wants beer gardens, parents need half-term ideas

Observation

Adam or Liam notices somewhere interesting

Data

"Colchester has 17 independent bakeries" is itself editorial

The rule: if we notice something potentially interesting, bank it. Don't wait until we need an article. Capture takes seconds: the idea, why it's interesting, the place(s)/data it connects to, when it may become relevant.

Always useful

Best dog walks
Best playgrounds
Independent cafés

Moment / season

Bank Holiday
Half term
First sunny weekend

Buzz / reactive

New opening
Big local announcement
Something suddenly being talked about

The Adam + Liam loop

Notice something
Bank it
Connect to Places / data
Wait for the moment
Research / verify
Publish / update
Reuse the learning

Capture first, decide later. Nobody needs to decide immediately whether something deserves a full piece.

Structured data
+
Local knowledge
+
Editorial instinct
+
Timing
=
A local site that feels alive

"That's interesting, let's do something on that." "People are going to want to know about this next weekend." "I didn't know Colchester had that, other people probably don't either." That instinct is part of the product, not a distraction from the database.

Decisions that still need sign-off before the sweep starts

Name & definition

Confirmed no problem, proceeding as WhatToSee, one-sentence definition above.

Core / Near / Outside lists

The specific place names in section 2 are examples, need explicit approval before the sweep uses them as the real boundary.

Five categories vs six

Recommended dropping "Local Gems" as a category, made it an attribute + filter + Guide instead. Needs a yes.

Six entities vs seven

Recommended no separate Experience/Activity entity. Needs a yes, or evidence to revisit.

Situations table

Which get URLs vs Guides vs filter-only in section 7, proposed not locked.

Schema & linked tables

The 15 field groups and 5 linked tables in section 9, ready to become the actual spreadsheet/database structure once approved.

Weekly operating rhythm

The Monday-Friday example is illustrative, needs a real decision on cadence once collection starts.

03 · Product model

Consumer, map, council: three jobs, one data source

The same three-column split as Big Picture, expanded into what each surface actually delivers to its own audience.

Consumer product

WhoWhat they get
Planning at homeSearch, editorial, What's On, New, directory, before they've left the house
Standing in townScan, search, map, directions, in seconds, no install
FamilyAudience and weather-aware filtering (rainy day, toddlers, free)
ShopperExact-entity search ("M&S") treated differently from inspiration search
ResidentWhat's New as a genuine repeat-visit reason, not a tourist-only site

Council product

Not "advertise your business here." A town-wide digital map, search, directory and wayfinding layer, deployed via QR at car parks, stations, the high street and information boards, with honestly-labelled aggregate demand data as a byproduct, not the pitch itself.

Business product

Every business gets an unclaimed profile by default, findable whether or not they've ever heard of WhatToSee. Claiming and verifying is free. Paid tiers (later) enhance visibility, they never buy inclusion. See Data Model and Bank for the claim/verify/enhance ladder.

Data product

What gets more valuable as more towns are added: the structured place/event schema itself (reusable everywhere), the map style system (reusable everywhere), the pattern of what data sources work per town (learned once, applied faster each time), and eventually, if it ever gets there, a real cross-town local-intent dataset no single competitor currently assembles. That last piece needs real footfall, not just search/click intent, which isn't built yet, see the end-game section on Big Picture.

04 · Website architecture

The website itself, properly specified. The map fits into it, not the other way round

Information architecture, page types, categories, situations, guides, navigation, and how it all expands to a second town. The map appears where it needs to, at launch-minimum scope, detailed separately on the Map tab.

Site levels

whattosee.co.uk
Consumer
/ national front door, town picker
/colchester/ the pilot town, live
Chelmsford, Ipswich… Bank
For towns
/for-towns/ the council/BID proposition, live
Demo · analytics · how it works, folded into /for-towns/ today
LevelNeeded?
England / countryNo. Nothing to say at that level that isn't said better per-town.
Region / countyNot manufactured as a page. Only if real cross-town editorial demand shows up, and even then it's a guide, not a navigation tier.
TownYes. This is the real unit. Colchester, then each new town.
Neighbourhood / areaNot yet, see Areas below. Revisit only once a town is large enough that its name alone is too broad.

The proposed Colchester URL tree

The actual pattern, not just the page-type list below. This is what Liam should build against directly.

Explore (category)

/colchester/explore/see//colchester/explore/do//colchester/explore/eat-drink//colchester/explore/shop//colchester/explore/find/

Situations (URL tier only)

/colchester/rainy-day//colchester/free//colchester/family-friendly//colchester/dog-friendly/

Places (canonical)

/colchester/places/{slug}/e.g. /colchester/places/colchester-castle/

Events / What's On

/colchester/whats-on//colchester/whats-on/{event-slug}/

New

/colchester/new/

Guides

/colchester/guides//colchester/guides/{guide-slug}/

Map

/colchester/map/

Town hub

/colchester/

Bank, not built: /colchester/areas/{area-slug}/, /colchester/routes/{route-slug}/, /colchester/claim/.

Navigation ≠ taxonomy ≠ user behaviour

Three different systems, easy to conflate, each answering a different question. Getting this confused is how "Explore" ends up built twice, once as a nav label and once as an accidental page nobody meant to create.

Navigation

What's in the header/footer, a handful of items

Home
Explore
What's On
New
Map

Taxonomy

What defines the URL structure

See
Do
Eat & Drink
Shop
Find

User behaviour

The mental model for the UI, not a page count

Find
Explore
Inspire me
What's happening
What's new

"Explore" is a nav label and a behaviour, it is not its own page, it points at the category hubs. "Find" is a behaviour (search), not a category. Liam should not build a literal /explore/ or /find/ page expecting them to be distinct architecture, they're framing layered on top of the category/situation hubs and site search.

Situations: URL, Guide, or filter-only

The rule that stops this becoming 100 thin pages. Apply it per situation tag before it gets a URL.

TreatmentRuleExample
URLEvergreen, real standalone search demand, own indexable hubRainy day, Free, Family friendly, Dog friendly
GuideEditorial, a written case for a specific list, not just a filtered queryColchester after dark, Best of Castle Park
Filter onlyLong-tail combination, would be thin if indexed on its ownFree AND family AND rainy day, any two-situation intersection

Page types

Nearly every URL on the site is one of these. Categories and situations produce hub pages by filtering the same place data differently, they are not separate content. Utility pages (About, Accessibility, Contact, legal) sit outside this model on purpose, not classified as taxonomy.

National home

Live

Town picker, how it works

Town hub

Live

/colchester/, the flywheel in one page

Category hub

Build

See, Do, Eat & Drink, Shop, Find

Situation hub

Build

URL-tier only: rainy day, free, family friendly, dog friendly

Place page

Build

Standalone URL per place, currently sheet-only

Event page

Build

Single event, links to its venue place

Guide / collection

Build

Editorial, curated place lists

What's On hub

Build

Today, tonight, this weekend

New hub

Build

Just opened, opening soon

Map

Live

/colchester/map/, Phase 1 scope, see Map tab

Council page

Live

/for-towns/, the B2B pitch

Area / neighbourhood

Bank

Only if a town outgrows one hub

Route / itinerary

Bank

Phase 2 map product, not this pass

Claim your business

Bank

Free claim/verify flow

Categories vs situations

The distinction that keeps the taxonomy honest. Get this confused and every new "collection" becomes an ad-hoc category, and the URL structure rots.

Categories: what it IS
See
Do
Eat & Drink
Shop
Find / Practical
Situations: when/who it's FOR
Rainy day
Free
Family friendly
Date night
Dog friendly
Evening / late

One place carries one primary category, which drives its canonical URL, and can carry secondary categories too (Castle Park is primarily See but legitimately also Do). Secondary categories add a place to more than one category hub without changing its address. Situations are separate again, many per place, driving filters, guides, and map pre-filtering.

Guides & collections

The editorial layer, human-curated, distinct from algorithmic situation filtering. A guide is a written case for a specific list of places, situations produce that list automatically.

Best coffee in ColchesterFree things to doRainy day Colchester Family day outColchester after darkBest of Castle Park

How a Place connects to everything else

Category

  • Belongs to exactly one

Situations

  • Tagged with many

Events

  • Can host many, over time

Guides

  • Can appear in many

Map

  • Always has one pin

Nearby places

  • Related by proximity

Header & footer, the actual nav items

Header, persistent
HomeExplore (categories)What's OnNewMap
Footer
Guides indexFor councilsAboutAccessibilityContact

Map is a persistent header item on every page, not a feature buried in a menu, this is already fixed site-wide. It does not get a second, bigger visual treatment beyond that, per the "don't let the map dominate" principle.

Journeys this IA adds, beyond search

Situation tag click
Filtered results, list + map
Place
Guide click
Guide page
Place
Show on map, optional

The core Find / Explore / Inspire / What's Happening / What's New journeys, plus the menswear and QR examples, are detailed on the User Flows tab, not repeated here.

Search & AI discovery

On-site search already treats exact-entity queries ("M&S") differently from inspiration queries ("rainy day ideas"). For external AI-search retrieval, every Place, Event, and Guide carries structured data (see Data Model), so category hubs, situation hubs and guides are independently citable, not just the map.

Where commercial structure touches the site

Unclaimed profile, default
Claim & verify, free
Enhanced profile, paid, later

Full ladder and the "never buy existence" rule are on Product Model and Bank, this is just the page-type consequence: a claim flow exists as a page type, banked for now.

Expansion model: what's global, what's new per town

Reused, every town

Site template & design system
Category taxonomy
Situation tag library
Page types & schema markup
Guide format

New, per town

Place & event records
Guide content
Imagery
Local partnerships
Area bounds, when needed

The same reused-vs-new split as the Map System tab, applied to the whole site, not just the map layer.

05 · Colchester

What are we actually building? Build Now, Next, Bank

The day-to-day working view. Completed foundation first (click through, these are real and live), then the actual proposed pages underneath Build Now / Next / Bank, matching Build Plan.

Completed foundation, live
00
National homepage view →
Live
01
Colchester hub view →
Live
02
Flagship map, Phase 1 scope view →
Live
03
Council pitch /for-towns/ view →
Live
Build now, P0
04
Taxonomy + URL model locked (see Website Architecture)
P0
05
Canonical Place page template, /colchester/places/{slug}/
P0
06
Category hubs, /colchester/explore/see|do|eat-drink|shop|find/
P0
07
Navigation + internal linking rebuilt around the above
P0
08
Structured data on Place pages, schema.org
P0
Next, P1
09
Situation hubs, URL tier: rainy day, free, family friendly, dog friendly
P1
10
What's On hub + standalone event pages
P1
11
New hub
P1
12
First guides / collections, 3 to 5
P1
Bank
13
Area / neighbourhood pages
Bank
14
Route / itinerary pages
Bank
15
Claim your business flow
Bank
16
Map, Phase 2 (see Map System)
Bank

What's real vs illustrative in the data behind this

53 seeded places across See/Do/Eat/Shop/Find/Event/New: real landmarks (Colchester Castle, Castle Park, Mercury Theatre, Arts Centre, firstsite, both stations) at real coordinates, plausible independents for the rest, nothing presented as confirmed fact that isn't. That's enough to prove the model, not a verified Colchester business directory, don't treat it as one when sharing this externally.

06 · Map system

Phase 1: launch minimum. Phase 2: banked, deliberately not designed yet

The map matters, but it is one part of the site, not the whole product. Phase 1 below is what's needed to launch. Phase 2 is named and parked, not detailed, on purpose, see Website Architecture for where it sits in the IA.

Phase 1: minimum map integration

Map page exists, /colchester/map/Live
Place markersLive
Basic category filteringLive
Click marker → placeLive
Place → show on mapLive
Basic directions / link-outLive
Mobile usableLive
Connected to Colchester IA (categories, situations, QR entry)Improve, category done, situations pending category/situation hubs

Global map system vs town data

The one separation worth holding precisely: get it wrong and every new town is a rebuild, not a data add.

Reused, every town
Map style, pins, route line
Interaction pattern (list/map toggle, sheets)
New, per town
Bounds, places, events
Town-specific imagery

Technology: Mapbox GL JS today. MapLibre is a live open-source alternative on the same style spec, so nothing built is wasted either way, but it's a P2 cost/lock-in decision, not a launch blocker.

Phase 2: banked, not designed in detail this pass

Near meWalking timesOpen-now intelligenceDynamic route building Multi-stop journeysTime-available filtersWeather / situation filtering Personalised discoveryMap-led itinerariesClustering logic Richer map visual designAdvanced directionsEvent overlays "Make me a day"Contextual recommendationsLive local intelligence

Named so it doesn't get quietly re-proposed as if new later, not scoped or estimated here.

07 · User flows

Five behaviours, not one search box

Reviewed and confirmed: these are the right five. Shown below with where each one actually lives today.

BehaviourExampleLives where
Find"M&S", "menswear", "toilets"Map search, exact-entity and category matching already built
ExploreMap-led browsingThe flagship map, "Everything" filter
Inspire meBest things to do, rainy-day ideasBest of Colchester on the hub, needs the standalone template
What's happeningToday, tonight, this weekendWhat's On section on the hub, links to map filter, needs its own page
What's newJust opened, opening soonNew section on the hub, links to map filter, needs its own page

The menswear journey, extended

Search
Results (list+map)
Place
Directions
Real route drawn
While you're here

Built and working end to end. Not yet built: mode choice (walk is the only option today, drive/public transport are real Directions-API parameters, straightforward to add), multi-stop itineraries, "next stop" continuation.

The council QR journey

QR scanned
Find / search
Map
Place
GO
Directions
Discover more

Built: the map already accepts ?entry= for QR-source context and ?q=/?cat=/?tag= for pre-filtered arrival. Live demo: /colchester/map?q=menswear&entry=high-street →

08 · Data model

Event, and freshness, as first-class fields

The full canonical Place schema, the 15 field groups and the linked tables including field-level provenance, now lives on Foundation, so it sits next to the geography and inclusion rules it depends on rather than duplicated here. This tab covers what's specific to Event and to the New/Opening freshness gap.

Place entity schema, discovery attributes and per-field provenance: see Foundation · sections 9 and 10.

Event entity

Event
Venue
Map
What's On
Town
Related places

Fields: start/end time, date, recurring, category, audience, price, booking, location, town, status, source, last checked.

New / Opening states

Just announced
Coming soon
Opening soon
Just opened
Established
Real gap: no expiry logic exists yet. A place should not stay "New" forever, needs a sensible time-based rule (e.g. "just opened" auto-expires after ~8-12 weeks) before this goes further.
09 · Council product

/for-towns/, already built, summarised here

The full page is live at /for-towns/ →, this is the architecture behind it.

The problem → the product

Town-centre information is fragmented across paper maps, tourist boards and inconsistent signage. The product: a digital town map, search, directory and wayfinding layer, one QR network covering the whole town.

Where QR codes could live

StationCar parksTourist information High streetShopping areasCouncil signage Event signageInformation boards

What the council gets

Visitor and resident utility, local business discovery, modern wayfinding, current data (not a static PDF map), aggregate demand signals, honestly labelled.

Kept accurate on purpose: a GO click or a direction request is never described as a confirmed physical visit. The analytics demo on /for-towns/ is explicitly labelled illustrative, not real measured data.
10 · Tracking

Two honest tracks, not one forced funnel

Search-led intent and discovery/editorial engagement are genuinely different signals. Don't force discovery browsing through a fake search funnel just to make one clean chart.

Intent / search track
Session, entry source, QR location
Search submitted, query
Result impressions, result click
Place view, map pin open
GO click, direction request
Mode select, related place view
Discovery / editorial track
What's On view, event view
New view
Guide view, guide place click
Show on map
Map filter applied
Already built this session: wtsTrack() wired at every real interaction point (search_submitted, results_shown, filter_selected, place_viewed, direction_request, while_you_are_here_click, page_view with entry-source). Lands in window.WTS_EVENTS and the console today, shaped correctly for a real analytics wire-up, no dashboard built, wasn't asked for yet.
Council evidence layer: keep these two tracks visibly separate in any report a council sees. "7,840 searches, 1,260 direction requests" is honest. Blending discovery browsing into the same funnel to make the number bigger is not.
Neither track is footfall. A direction request is strong intent, not a confirmed physical visit. Real footfall (movement data) is a separate, not-yet-built layer, see Big Picture for the end-game framing and why it isn't solved by "we picked Mapbox."
11 · Current vs proposed

The risk being actively designed against

The honest risk, stated plainly, then what changes to avoid it.

Current risk
Content site
+ Directory
+ Map feature
Proposed model
Local data platform
Website-first discovery architecture
Map & wayfinding, Phase 1 infrastructure
Council infrastructure

What's actually changed already, this session

The map moved from a placeholder canvas to real styled Mapbox with a drawn route, and is now treated as completed Phase 1 infrastructure, not ongoing work. The map preview moved up on the hub, "Map" can no longer disappear from mobile navigation, content links into map filters instead of sitting isolated, and a dedicated council page exists. That's real movement, the open gap now is the website's own architecture, not the map.

What still reads like a collection of homepage modules, not a coherent discovery website

The town hub is still built as homepage sections (Best of, What's On, New) rather than as gateways into real pages with their own URLs and depth. Category hubs, situation hubs, standalone place pages and guides exist as a data model and a plan, not yet as built pages. That's the honest gap, and it's exactly what Build Plan's P0 now targets directly, not the map.

12 · Build plan

The website is P0 now. The map is completed Phase 1 infrastructure

This changed from an earlier draft where map items filled P0 positions 1-8, which accidentally told Liam to keep prioritising work that's already done. Corrected below.

The instruction: do not redesign the product or expand the map. Treat the existing map as completed Phase 1 infrastructure. The job now is to turn the Colchester prototype into the first complete WhatToSee website: lock the taxonomy and URL model, define the canonical Place entity/page, build the category/situation/discovery architecture, What's On, New and Guides, then keep this board's Colchester tab matching the exact Build Now site tree. Where the board conflicts with this, update the board rather than following older map-first wording.

What actually changed, sequence-wise

Data / entity foundation
Place pages
Category / situation hubs
What's On / New / Guides
Internal linking + search/AI
Commercial
Map, Phase 2
Completed foundation, already live, not forward work
Map: real technology, custom Colchester style, route line, global/town split
Live
Map prominence + mobile nav fixed site-wide
Live
/for-towns/ council page + QR journey demo
Live
Tracking scaffold wired, two-track model
Live, scaffold only
P0 · Website architecture foundation
1
Taxonomy locked (categories + situations rule, see Website Architecture)
P0Build
2
URL model locked (see the proposed URL tree)
P0Build
3
Canonical Place page template, load-bearing, everything else points at it
P0Build
4
Category hubs, /explore/see|do|eat-drink|shop|find/
P0Build
5
Situation hubs, URL tier only
P0Build
6
Navigation + internal linking rebuilt around the above
P0Build
7
Structured data, schema.org, on Place/Event/Guide
P0Build
P1 · Discovery depth
8
What's On hub + standalone event pages
P1Build
9
New hub
P1Build
10
First guides / collections, 3 to 5
P1Build
P1 · Quality
11
Full accessibility pass
P1Build, not yet run on product pages
12
Photography corrections
P1Improve, flagship + council-card fixes done, rest deferred
13
Real device-width QA
P1Improve, done via DOM verification not fresh screenshots this session, see note
P2 · Design lock
14
Compare 2-3 full design directions
P2Bank
15
Lock the consumer discovery system
P2Bank
P2 · Scale & commercial
16
Claim your business flow
P2Bank
17
Second town, prove the reusable split
P2Bank
18
MapLibre migration, if cost/lock-in justifies it
P2Bank
19
Map, Phase 2 richer product (see Map System)
P2Bank
13 · Bank

Deliberately not being built now

Attractive, not required for V1. Keeping them visible here so they don't get quietly re-proposed as if new.

Native / installable app

Scan-and-go stays the model unless a real reason to install ever appears. Not decided by technology enthusiasm.

County / region pages

Not manufactured to fit a hierarchy. Only if real editorial demand appears.

MapLibre / self-hosted tiles

Real P2 decision once cost or lock-in actually bites, style JSON transfers directly, no wasted work either way.

3-direction design comparison

Current system works, hasn't been comparison-tested the way the fleet's mature B2B sites have.

Business claim & payment tiers

Enhanced profile, promoted event, featured position, sponsored editorial, ticket affiliate. Needs the "never buy existence" line kept explicit whenever built.

Map, Phase 2 (banked as a set)

Near me, walking times, open-now intelligence, dynamic routes, multi-stop journeys, time/weather filtering, personalised discovery, itineraries, clustering, richer visual design, event overlays, "make me a day". Full list on Map System, deliberately not designed in detail yet.

New/Opening expiry logic

A place shouldn't stay "New" forever. Rule not yet defined.

Real analytics dashboard

Event scaffold exists (wtsTrack), no visualisation layer, wasn't asked for.

Real footfall / movement data

The actual data-product end-game, consent-gated geolocation or QR re-scan inference across multiple points. Deliberately not started, see Big Picture.