We put a plain-language summary on 187 public pages. Here is what it took.

A build log from the Council on Local Relations site: the numbers, the errors we found, and the one habit worth copying.

The Council on Local Relations (CLR) is a UMS client whose public record we built. This week we added a short plain-language summary, which we call a frame, to the top of its public pages. Here is what we built, what went wrong, and what you can take from it.

What the frame does

A frame answers the questions a resident actually has, in plain words, before the detail starts. Each frame carries six answers. Each answer is one sentence of 20 words or fewer. The system enforces that before a frame can show. If an answer runs long, it gets one retry. If it is still too long, the frame is held back.

The most useful line is the one about money. On the Deer Park page it now reads: a typical Deer Park home, appraised at $261,679, owes $6,816 a year at these rates, before any exemptions. We did not write that sentence by hand. The system computed it from two facts on record: the certified median home value and the total tax rate.

We also fixed a small error. A half-cent rate was printing as $0.00. It now reads $0.005.

The council cards

The pages show cards for elected officials. Deer Park (7) and La Porte (9) publish portraits, so we archived those and credited each city. Starbase publishes none, so its cards show initials rather than a stand-in photo. We also flagged a mismatch for review: Starbase's own page uses a different title for one official than our record does.

The numbers

We audited all 187 served pages. 147 run on the main page engine. 38 sit outside it and load the frame from a separate script generated from the same code, so there is one source for the logic. The remaining 2 files return 404 and are not public pages.

Frames written: 211. Frames shown: 207. The other 4 are held by a safety check and stay as they were until the next refresh drafts a clean version.

On Deer Park, 31 of 32 pages pass every item on our scorecard, checked logged out. The one exception is a page whose frame is among the 4 held.

What the checks look for

Every frame has to pass these before it shows:

  • Every figure matches a fact on record or a number printed on the page.
  • No jargon.
  • The length rule.
  • Our place-name check.
  • No home street address, only public meeting places.
  • A review check that holds anything it flags.

The system also refuses a stale frame. If a fact the words rest on changes, or a meeting the frame names has passed, the page renders as it did before. Frames are redrafted twice a day, at 05:20 and 17:20 CT, if they are flagged, expired, resting on facts that moved, or more than a week old.

What we found along the way

Before rollout we compared every page's own content under its old build against the new one. That turned up four places where the newer build had lost something correct. Source names were being cut at 60 characters. Some wording about a territory had been lost, along with a guard against claiming a financial report was read when it was not. A record page with no minutes had lost its verified ledger.

The fourth was the worst. A Pasadena schools page was printing La Porte's text, including a 1.87× comparison to Deer Park, under Pasadena's name, with every figure missing. It was wrong on the live site before we started. Our place-name check caught it. The page now says plainly that no school figures are on record yet.

A second problem was ours. Our collapsible sections hid page content from the place-name check and from an hourly page reader. Two other teams working on the site found it, and we fixed it.

We also held back data. For the Deer Park school district, 49 held facts were each reproduced to the dollar from the state education agency's own files and the district's annual financial report, and the page went live with 0 missing figures. But 13 all-funds function breakdowns stayed off the page. As a set they sum exactly to the state's all-funds total of $238,731,317, but none reproduces on its own. We would rather show nothing than show a figure we cannot verify one by one.

One process mistake belongs here too. We logged the decision to roll this out after the first install instead of before. It should have come first.

What it took

Most of the work needed direct access to servers and databases, so people did it rather than an automated helper. One read-only job, mapping how pages render, went to a second worker. Everything else was hands-on.

What you can take from this

If you run a business with a website, write down the six questions a customer asks before they call you, and answer each in one sentence of 20 words or fewer. Use real figures where you have them, such as a price or a typical cost. Then set a regular time to recheck those answers, because facts move and old text goes stale.

The frame is software. The habit behind it is not: say the plain thing first, and only say what you can prove.

Want this kind of work on your business?

Start with a free Snapshot Report: a written look at your Google Business Profile, listings, reviews and website basics.