-
-
The 3D town map: apply the local swaps and the flows redraw from the facility site to the Qloo-ranked venues, costed live.
-
Full screen keeps the plan beside the map. Each venue card shows its Qloo rank, distance from the site and the costed sessions.
-
Mount Pleasant, WI: a consultant template checked line by line. All 12 lines struck as not local; Qloo brings in 8 local partners.
-
Each added partner shows its Qloo signal: where it ranks among the 50 places within 15 km that locals favour most.
-
Frozen AI-alone plans, six towns: 51% of their partners confirmed; 84% of our local partners they never named. Directional only.
-
The memo opens with cited jobs, power, water, noise and tax figures, then a costed program. Unitemized money is held in reserve.
-
The OpenAI agent confirms each partner on OpenStreetMap and drafts outreach naming the funding company. Drafts only; none sent.
-
Residents rank grants and events. The demo tally adds your ballot to 120 simulated ones and says so on screen; it predicts nothing.
-
Kincardine, ON: 4 of 11 draft lines struck as Not local or Can't confirm. Two get a local host venue; two say no local swap exists.
-
Qloo, OpenAI and OpenStreetMap are called server-side. Code picks the program, verdicts and costs; the model drafts outreach.
Inspiration
More data centers, chip fabs, plants and nuclear plants are being built across North America and around the world, and I keep seeing the pushback, on social media and in conversations in real life, from the people who live next to them. I built Townsworth as a bridge between those residents and the companies building the sites. Why now: demand for AI and engineering capacity keeps climbing, so there will only be more of these sites, and more towns and neighbourhoods asking what's in it for them.
Data centers, chip fabs and battery plants are landing in small towns, and towns are pushing back: local opposition blocked or delayed about $198B of data-center projects in the first half of 2026 (Data Center Watch, Q1, Q2), and seven in ten Americans oppose one in their area (Gallup, 2026-05-13). Companies do commit money to host towns, but the plan behind it is often generic: a STEM camp, a library donation, a chamber sponsorship. It could fit any town, so residents see nothing in it for them.
The result: checked against Mount Pleasant, Wisconsin, a consultant-style template has all 12 lines struck as not local. Across six towns, 74% of the partners AI alone names are institutions, against 35% of ours, and 84% of Townsworth's local partners never appear in the AI-only plans. /proof recomputes these from live Qloo calls on every load.
The name: "-worth" is the Old English word for an enclosed homestead, as in Wadsworth. Townsworth means the town's own place.
What it does
Townsworth checks a facility's community-benefits plan line by line against Qloo's data for its host town, for the company's community-affairs team.
- Paste or open a plan. Each line is Kept (a real local partner, a named institution, or a commitment kept as drafted), Not local (could fit any town) or Can't confirm (not found nearby; it may still exist).
- Struck lines get a local venue, ranked by how strongly locals favour it: "#4 of 50 places locals favour". "Why" shows the Qloo signal, the place traits the area stands out for, and which age groups favour the venue.
- A 3D map of the town shows the facility site, the Qloo-ranked places within 15 km and a flow from the site to each program venue. Apply the swaps and the flows redraw and the total updates; click a venue for its Qloo rank, distance and costed sessions. It opens full screen (F or Esc).
- A costed memo for the committee: the company's jobs, power, water and tax commitments first, each with its source; then a 24-month program costed session by session, with the rest held in reserve. CSV, calendar, HubSpot and Salesforce exports.
- An outreach agent (OpenAI) drafts emails to each partner, confirms it on OpenStreetMap and names the funder. Nothing is sent.
- Residents rank the shortlist on an anonymous ballot. The demo tally adds 120 simulated ballots to yours, and says so.
Try it in 60 seconds
- Open https://townsworth.vercel.app/judges: a five-step product tour. Each step opens the live page at the right line. No login.
- Or paste your own plan at https://townsworth.vercel.app/check, or type any US or Canadian town.
How we built it

In the order a request moves:
- In: a host town (six presets, or any town found with OpenStreetMap) and a draft plan.
- Qloo: server-side Insights calls for the town; responses are cached privately and never committed.
- Decide: fixed rules over Qloo fields pick partners and amounts and give each line its verdict. The model proposes; code decides.
- Agent: an OpenAI agent drafts outreach with tool calls; a draft that skips the funder or touches zoning, votes, politics or religion is replaced.
- Out: the memo, exports and the resident ballot.
Qloo in Townsworth
| Qloo call | What it does in Townsworth |
|---|---|
Insights, urn:entity:place with signal.location |
Ranks the places within 15 km by how strongly locals favour them; partners come from this list |
| Insights, taste near the site vs national and big-metro lists | Finds what the town stands out for; national favourites never drive an item |
/v2/audiences and signal.demographics.age |
Checks the program reaches young adults, older residents and families with young children |
Insights, urn:demographics |
Shows which age groups favour each partner (age only; gender is discarded) |
Insights, urn:tag at the site |
The place traits the area stands out for, cited in each partner's "Why" |
/search |
Looks up each venue a pasted plan names, within 25 km |
Tech used
| Technology | What it does in Townsworth |
|---|---|
Qloo Insights API (/v2/insights) |
Places ranked by how strongly locals favour them, distinct local taste, age-group checks, partner audience ages (urn:demographics) and area place traits (urn:tag) |
Qloo Audiences API (/v2/audiences) |
Looks up the life-stage audience for the families check |
Qloo Search API (/search) |
Finds each venue a pasted plan names, within 25 km |
OpenAI gpt-5.4-mini (Vercel AI SDK) |
Drafts partner outreach with tool calls, splits a pasted plan into lines, and wrote the frozen AI-alone baseline. Never decides a verdict or an amount |
| OpenStreetMap Nominatim | Finds any US or Canadian town, and confirms each partner a plan names |
| MapLibre GL JS + OpenFreeMap (OpenStreetMap vector tiles) | The interactive 3D town map on each town page: Qloo-ranked places, the facility site and the plan's flows, redrawn as lines are swapped |
| Vercel | Hosting, plus a 24-hour cache of each successful Qloo answer |
Challenges we ran into
- Town names resolved to the wrong place for 6 of 22 hosts we tested, so every Qloo query uses coordinates and a radius.
- Not striking real commitments: a local-purchasing target names no partner, so a naive check would strike it. Those lines are kept as drafted.
- Qloo's rate limit: a cold page needs about 30 calls per town, so calls are paced under 10 a second and each answer is cached; a failed call is retried, never remembered.
What we'll tell you before you find it
- The baseline: OpenAI
gpt-5.4-mini, with no Qloo access, wrote the AI-only plans for six towns; they were frozen and hashed on 2026-10-27, before measuring. Six towns and one model make the proof directional, not a study. - Ordering by affinity instead of distance changes only 3% of picks: Qloo's bigger effect is which places are candidates at all.
- The ballot tally is simulated and fund figures are illustrative; no partner's willingness is confirmed. "Can't confirm" doesn't mean invented.
Accomplishments that we're proud of
- A path from a Qloo signal to a costed, downloadable commitment, with a "Why" on every partner.
- A frozen, hashed baseline with every number recomputed live, including the small one.
What we learned
- AI alone knows a town's institutions; Qloo knows where the town goes. A useful plan keeps the first and adds the second.
- A generic plan is a data problem, not a writing problem. Without knowing where a town actually goes, any plan falls back to the same STEM camp and library donation; with it, the same budget names real local places.
What's next for Townsworth
- Show the memo to community-affairs teams and test a per-project licence.
- Confirm partners' availability, and replace the simulated tally with consented resident input.
- Import material commitments from developer filings for any town.
Built With
- gpt-5.4-mini
- maplibre-gl-js
- next.js
- node.js
- nominatim
- openai
- openfreemap
- openstreetmap
- qloo
- qloo-insights-api
- vercel
- vercel-ai-sdk
- webgl