WordPress out, static architecture in. A faster, cleaner site that matches the credibility of a 19-year Bristol recruitment business.
A dignity-first directory that puts food, clothing, baby items, school uniform and hygiene support within reach, for every corner of Wakefield District. Built on a static stack that loads anywhere, tracks nothing, and never makes someone in crisis feel like a case number.
The information someone in poverty needs already exists. It is just scattered across council link farms, out-of-date PDFs, Facebook groups and word of mouth. Nobody in crisis should have to run a research project to find a food bank.
The human cost is real and specific. People post anonymously on Facebook because they are ashamed of having no food. Outdated listings send them to services that have closed or changed hours. A parent who cannot afford school uniform has no idea a uniform bank exists three streets away. And frontline workers spend hours manually hunting down services instead of helping the person in front of them.
There was no single place to say what you need and see everything available near you. Wakefield Reach exists to be that place.
"Support within reach." That is the whole product, and every decision bends to it.
Every listing carries a visible "last verified" date. No scraped data, no guesswork. If it is on the directory, someone has checked it. That is the whole trust model.
Built for the whole district, not Wakefield city centre. Castleford, Pontefract, Knottingley, Featherstone, Normanton, Ossett and South Elmsall all get their own town pages. Someone in Castleford sees Castleford results.
No cookies, no analytics, no tracking, no accounts. Privacy is dignity — nobody browsing for help should be surveilled for it. The site leaves no trail on the user's device.
This directory serves people in crisis — sometimes in unsafe homes. The safety features are engineering requirements, not afterthoughts.
One tap leaves the site and overwrites the browser history, so the Back button cannot return to the directory. Subtle enough not to draw attention, findable enough to work under stress.
Tap-to-call crisis numbers — 999, Samaritans, the National Domestic Abuse Helpline — sit at the top of every page. Calm, not alarm-red. A page must never be a dead end for someone who is also in danger.
No cookies, no analytics scripts, no third-party embeds that load slowly or phone home. Someone browsing in a difficult situation should be able to do it in complete privacy.
A print stylesheet turns any category or town page into a clean, ink-efficient one-pager. Frontline workers can hand a GP's patient or a social worker's client a sheet they can actually read.
People in crisis do not fill in forms. They tap, read, and leave. The whole experience is built around that.
Browse by what you need — food, clothing, baby items, school uniform, hygiene. Search by postcode, with a one-tap geolocation button for people who do not know their postcode. Tap any listing for full details in a modal, no page loads, no getting lost. Referral badges say plainly "no referral needed" or map the exact pathway to getting one.
The typeface is Atkinson Hyperlegible, built for maximum character distinction — so someone reading an address at the most stressed moment of their week is not squinting at whether that is a 1 or an l. There are no photographs of people in need, ever. Icons only. Dignity is in the detail.
The most reliable thing you can build for someone on a cheap phone with patchy data is a flat set of files. So that is what we built.
Wakefield Reach is an 11ty static site with Tailwind CSS and a thin layer of Alpine.js for search, filtering and modals. The directory is a single JSON data file served at build time — no database to break, no CMS to slow down, no plugin chain to patch. Postcode search runs against postcodes.io with a Haversine distance calculation, so results are genuinely nearest-first.
Everything heavy was deliberately removed. There are no images to lazy-load. There is no tracking to fire. Core content is reachable with JavaScript disabled, because some users disable it and some phones barely run it. The site is fast because it has almost nothing to send.
Developer Insight // Winston
"Everyone asks how we made it fast. We made it fast by making it small. A directory for people in crisis should not ship 800KB of JavaScript. It should ship almost nothing — because the person loading it might be doing so on the last of their data, in the worst moment of their month."
Every listing holds organisation, categories, address, town, postcode, opening hours, access instructions, referral type, contact details and a "last verified" date. The town pages are generated from one template via 11ty pagination — eight pages, one source of truth, zero duplication drift.
No WordPress, no database, no cookies, no CAPTCHA, no page builder. Content is written by people who know the local voluntary sector and held in plain JSON. The build is reproducible from source in seconds, and the whole site can be served from a static host.
The metrics that matter for a crisis directory are not conversions. They are speed, privacy and coverage.
No analytics, no cookies, no third-party embeds. Privacy as the default.
Icons only. No poverty imagery, no maintenance burden of location photos.
Five category explainers, eight town pages, five guides and supporting pages.
Every one carrying a "last verified" date. No scraped data, no guesswork.
Food, Clothing, Baby Items, School Uniform, Hygiene
Wakefield to South Elmsall, one template, no drift
Static 11ty + JSON data, no CMS to maintain
For the nerds
project: Wakefield Reach
build_type: Static community support directory
business_context: Crisis support discovery across Wakefield District
stack:
ssg: Eleventy (11ty)
styling: Tailwind CSS
interactivity: Alpine.js (progressive enhancement)
data: single listings.json, build-time
geolocation: postcodes.io + Haversine
core_features:
quick_exit: location.replace, history overwrite
emergency_banner: tap-to-call crisis numbers
referral_badges: self-referral vs referral-required
modal_details: full listing in overlay, focus-trapped
print_stylesheet: ink-efficient one-page handouts
privacy_posture:
tracking: none
cookies: none
analytics: none
captcha: none (never between a hungry person and food)
confirmed_metrics:
categories: 5
town_pages: 8
listings: 43
images: 0
tracking_scripts: 0
Developer Insight // Winston
"The Quick Exit button uses location.replace for a reason. A normal redirect leaves the directory in your history, so the Back button takes you straight back to it. Replace overwrites it. One line of code, and it is the difference between someone being caught and someone being safe. That is the kind of detail you do not bolt on later."
We build custom sites where the hard decisions — safety, privacy, accessibility — are made properly, not bolted on at the end. No templates, no page builders.
See what else we've built — hand-coded, no templates.
WordPress out, static architecture in. A faster, cleaner site that matches the credibility of a 19-year Bristol recruitment business.
30 years protecting homes and businesses across the Five Towns. A website that finally matched their reputation. 98 Performance. 100 SEO. Zero WordPress.
A custom booking engine that handles capacity, age-based pricing, and Stripe payments automatically. It runs the business so the owners don't have to.