01 — Why these six
People camp overnight in a parking lot to be first into a new grocery store. That is the product.
Texas pride is not a marketing posture here, it is the market. These six chains are not errands, they are allegiances — people plan drives around them, argue about them, wear them on a shirt, and turn up in the dark twelve hours early for a new one. A brand people feel that way about generates questions its own store locator was never built to answer.
Pick one.
A family-owned grocer out of San Antonio that has, on purpose, never gone national — it trades in Texas and northern Mexico and nowhere else. Tortillerías in the store, Hatch chile roasted in the parking lot, and a disaster-response operation that turns up after hurricanes and freezes before most agencies do.
Why Texans are like thisIt is the one large institution in a Texan’s daily life that is unambiguously theirs and shared with nobody, which is why a new store opening is a civic event in a town that has waited years for one.
Texans don’t just shop there; we brag about shopping there.
Ranked first in dunnhumby’s U.S. grocery Retailer Preference Index in January 2026 — its fifth time at the top in nine years, across the 81 largest retailers and a survey of more than 11,000 shoppers.
dunnhumby, Jan 2026Stacey and Mike Archip arrived at six in the evening and waited until the six-in-the-morning opening of a new Mid-Cities store. Dozens more came behind them with chairs and blankets. Staff handed out water.
KERA News, May 2026Founded in Kerrville by Florence Butt as Mrs. C.C. Butt’s Staple and Fancy Grocery. It is now the state’s largest private employer.
Texas MonthlyAll six chains — 863 locations, every one read from the chain that owns it.
Real coordinates, all 863 of them, drawn from the site’s own data files. The crowding along I-35 and I-45 and the emptiness west of the Pecos is not stylization — it is where the stores are, and it is why a route-aware search was worth building.
And what all that devotion turns into, as data
02 — Questions people really ask
A store locator answers where. It never answers which one, or what to order when you get there.
The hard part of this category is not the addresses. It is that the useful knowledge — which brisket cut, which off-menu order, which of the four hundred things at Buc-ee’s is worth the calories — lives in comment threads, and has never been anywhere a search engine could quote it.
So the most-argued questions for each chain were read off public Reddit threads and boiled down to a single answer, with a plain label saying how settled the answer actually is. Five questions per chain, thirty in all, and every one of them published as machine-readable data alongside the computed facts.
What’s the best food at Buc-ee’s?
The Texas Cheesesteak Burrito has exceptionally strong current support. Multiple recommendation threads independently converge on it.
Strong consensusWhat H-E-B product has the biggest cult following?
Butter tortillas. Mi Tienda uncooked flour tortillas are another particularly enthusiastic recommendation.
Strong consensusWhat’s the classic Rudy’s plate?
Moist brisket, turkey, creamed corn and potato salad. This is a synthesis of the recurring individual recommendations rather than a directly established “official” order.
Common recommendationTwo labels, and deliberately not a score
There are exactly two: Strong consensus and Common recommendation. The build refuses to accept a third. The reasoning is written into the code — a scale with five rungs invites the middle three to mean nothing — and a number here would be worse, because it would imply an arithmetic nobody performed.
Opinion is fenced off from fact
All thirty are stamped not computed, and a check refuses to let one count toward the three-verified-facts requirement every published page has to meet. A page cannot pad itself with what the internet reckons.
The sources are stored and never shown
Every thread URL is kept so a claim can be rechecked, and a check fails the build if one ever appears on a page or in the public data. Linking somebody’s comment thread from a commercial site is a courtesy the project decided not to spend.
The date is mandatory. The source is not — yet.
The build refuses to run without a gathered on date, because an opinion with no date cannot be revalidated. It does not yet require a source. Thirteen of the thirty have none, and nine of those are labeled “strong consensus” — caught by an audit, still open, and on the public bug list.
Footnote on tooling: this one section of the work was gathered with ChatGPT rather than Claude — a deliberate use of the model with the better live read on what people are currently saying. Worth flagging: the data file’s own note says the questions were “read by hand from public Reddit threads and summarized”, which is now half the story. That line should be corrected to say which tool did the reading.
03 — What it does
Three features, each aimed at a question a chain’s own website will never answer for you.
The site is not a directory with a search box on it. Every feature exists because somebody stands in a specific spot — at home deciding which store, in the truck deciding where to break a four-hour drive, or on a Friday planning Saturday — and needs an answer nobody currently sells.
1. Amenities — which one, not just where
Twenty things vary store to store at H-E-B and the chain publishes all of them, one store page at a time, where nobody will ever cross-reference them. Here they are one row of buttons. The counts are live: four stores in Texas have a tortillería, and until this existed there was no way to find out which four.
Twenty amenities at H-E-B, four at Buc-ee’s, one at Torchy’s, and none at all at Rudy’s or Shipley.
The vocabulary is deliberately per-chain: “drive-thru” is a pharmacy window at H-E-B, an order lane at P. Terry’s and an ordering channel at Torchy’s, so one shared checkbox would be tidier and wrong. Rudy’s and Shipley publish nothing that tells two stores apart, so they get a sentence rather than an empty panel — Shipley’s reads “the kolache is at all of them.” See the four with a tortillería or the 53 with True Texas BBQ.
2. Roadtrip Mode — what’s on the way
Give it a start and a finish and the question changes from what is near me to what is on the road I am about to drive. Results are ordered by how far into the drive they sit, and each says what the detour costs. Add one and it joins a trip you can save.
Not saved yet — nothing goes into Yer Stuff until you save it.
Here ya’ go
ShowA picture of the real component, not a working one. 72 MI IN is miles into the drive, not miles from you — on a road trip that is the number that matters. On route means the detour is under half a mile; anything further reads +3 mi off. Routes are real driving routes: an early version drew straight lines, and Beaumont to Midland is 28% longer by road than by ruler.
3. Yer Stuff — will it still be open when I get there?
Save a trip and it becomes an itinerary. Say when you are leaving and how long you tend to linger, and every stop tells you roughly when you would arrive — and whether the place will be open when you do. It is the question that actually ruins a road trip, and no store locator anywhere answers it.
Starts in Austin and finishes in Houston, not from where you are now — the Directions link on each stop below does that.
-
Austin Shipley Do-Nuts#FC1945 · 1945 W. William Cannon · Austin, TXArrive about 6:39 AM · open until 1 PMDirections
-
Bastrop Buc-ee’s#28 · 1700 Highway 71 East · Bastrop, TXArrive about 7:29 AM · open 24 hoursDEFEthanol-free fuelTesla SuperchargerDirections
-
Katy Torchy’s23501 Cinco Ranch Blvd. · Katy, TXArrive about 9:45 AM · closed · opens 10 AMDirections
The third stop is the whole point of the feature: you would get to that Torchy’s fifteen minutes before it opens, and the itinerary tells you now rather than at the door. Arrival times are the route’s own duration scaled by how far along each stop sits, plus the time you said you linger. Each stop is checked against its own local clock — seven in El Paso is six in Austin.
And one feature that is really an architecture
The whole site is a single static page with the data baked in — no server call to answer a search, no account, no API key. Visit once and it keeps working with the phone in airplane mode. That is not a technical footnote: the stretch of I-10 where you most want to know where the next Buc-ee’s is, is the stretch with no bars. Every competing app needs a live server. This one does not.
04 — Day one
Six features and a public URL on the first day. Then eleven days of finding out what was wrong with them.
The site went live on 20 August 2026 — not to a staging link, to the open internet, with search, amenity filters, near-me, road trips, eight themes and a working 404. Shipping on day one was the experiment: get a real thing in front of people, then learn from something that exists rather than from a plan.
commits per day, 20 to 31 August 2026: 20, 0, 0, 6, 8, 43, 7, 15, 37, 42, 12, 2.
192 commits, August 2026. The two flat days are real.
| Day | What landed |
|---|---|
| Aug 20 | Live. Find ’Em, Near Me, Amenity Filters, Roadtrip Mode, Themes and a functional 404 — six features, in production. |
| Aug 25 | Five more chains in a single day, and straight-line routing replaced with real driving routes. |
| Aug 26 | Ring roads, map dragging, and Yer Stuff — bookmarks and saved trips. |
| Aug 28 | Seven at once: the whole published page tier, hours and open-now, itineraries, offline access, automated testing and the data-integrity page. Plus the first two audits and two outside reviews. |
| Aug 29 | The public roadmap. Third audit. |
| Aug 30 | New brand lockup, and a style guide that rebuilds itself from the live site. |
The feature list is not a claim, it is a file. The build writes the roadmap page from it and a check fails if the page and the ledger ever disagree — which is why the count here and the count on the live roadmap cannot drift apart.
05 — The rule that made it fast
One verified source per chain. When the source is silent, the build stops instead of guessing.
The first version of the data was more generous. It pulled from a public map database and a hand-written list of stores, on the reasonable theory that more sources means better coverage.
It meant four H-E-Bs that do not exist, and pins for stores that had closed. Both sources were deleted the day that surfaced, and one rule replaced them: every store comes from the chain that owns it, and nothing is inferred. If a chain does not publish something, the site does not claim it.
That reads like a limitation and behaved like an accelerator. It removed a whole category of argument — no debating which source to believe, no reconciling two that disagree, no slow bleed of trust as small errors pile up. It also made the AI far more useful, because fetch it from the chain, or stop is an instruction a model follows exactly. Use your best judgment about which source to trust is not.
The one deliberate exception, and why it is written down
Buc-ee’s publishes machine-readable hours saying its stores close at 9pm and do not open at weekends. This is false for all thirty-seven Texas locations — Buc-ee’s own FAQ says every store is open 24 hours a day, 365 days a year.
So the site quotes the FAQ and ignores the feed, the only place it overrides a chain’s own machine-readable claim. The decision is recorded with a warning not to helpfully “fix” it back, because reading that feed would have the page telling somebody on I-10 that the travel center is closed.
The same instinct runs down to the badges. A world record on a store card is drawn with a solid outline and “coming soon” with a dashed one, because a record is a fact a chain published and coming soon is a promise. And the two Buc-ee’s world records the site carries are printed with the words by Buc-ee’s own count attached — which turned out to be the right call, since the Guinness page behind one of them no longer resolves.
06 — Four workflows
One person decides. A model drafts and builds. A script refuses to publish something false.
Every line of Texas Find ’Em was written by Claude, working directly in the project’s files. That is not the interesting claim. The interesting part is that the work runs on four named routines, and each one has a step in it with the authority to stop everything — a step that asks nobody’s opinion.
Ship a change
An idea becomes something a person in Lubbock can load. Nothing reaches the public until the site rebuilds cleanly, four hundred checks pass in a real browser, and the style guide has been brought up to date in the same breath.
Refresh the data
Once a month the site goes back to all six chains and re-reads their store lists. It stops itself if any chain’s data has gone stale, or if a chain suddenly reports far fewer stores than it had — which is what a broken feed looks like from the outside.
Run an audit
A full read of the site for what it gets wrong — measured in a real browser, then read by eye for the things no measurement catches. An audit is never allowed to fix anything as it goes, so that what it reports is the site people are actually using.
Propose a feature
Nothing gets built because it sounded good in conversation. It gets a written argument with real numbers behind it and a working mockup you can click, and then it is accepted or rejected in public — the rejections kept, so the same idea is not proposed twice.
07 — What gets measured
Four things got materially better across three audits. Two got worse, and the tool that should have said so was broken.
Every audit loads the site in a real browser at phone, tablet and desktop widths and measures the same things, then compares them to the last run.
Time to a first store fell by nearly half on a phone, and the automated check suite doubled. The last two rows are the reason the first six are worth believing: both moved the wrong way while everything else improved, and the script that was supposed to raise a flag was only checking two of fourteen numbers. Something had been over its limit since the second audit and nothing said so. That was found by the third audit, in a pass it runs on itself before it is allowed to measure anything else.
When the tools lie
The most useful thing these audits produced is a running log of the times the audits were wrong, kept under that heading and not softened. It reported tap targets of 1.4 pixels by measuring buttons mid-animation; they settle at nine. It called seven working controls broken because they had scrolled out of view. It sampled a color halfway through a fade and reported one that never appears on screen. It once flagged a 52% performance collapse that was a single slow first load, which is why every timing since is the median of five.
And twice it caught itself: a scanner looking for dead code matched its own comments, and a scanner looking for unfinished-work markers matched the marker inside its own source file — permanently, until the search text was split in half so it would stop finding itself.
None of it was hidden. Each one got written down, given a rule, and the rule built into the tool. That is the actual discipline, and it is the whole reason to trust the numbers above: a model that measures confidently and wrongly is more dangerous than one that does nothing, so a failing check is treated as a claim that itself needs checking.
08 — Keeping the work public, and automatic
Publishing what you are doing is cheap. Keeping it true is the expensive part, so nothing here is maintained by hand.
Working in the open is worth something on its own: it is how a small operation earns trust it has not had time to build, and it forces decisions to be written down while the reasoning is still fresh. But a public page is only an asset while it is accurate. A style guide describing last month’s CSS, a roadmap listing things that already shipped, a bug list nobody prunes — each of those is worse than having published nothing, because people stop trusting the page and then stop opening it.
So every public page here is generated, not written. That is both the accuracy answer and the efficiency one: the work of keeping it current is done by the build, which never forgets and never runs out of enthusiasm on a Friday.
Ideas get a working mockup, not a slide
A proposal has to argue with real numbers, and it ships with something you can actually click. The lockup one has sliders and all eight themes; the Whataburger one was only written after all 784 of their Texas store pages had been read and parsed. The mockups are public. The arguments behind them stay private.
The roadmap writes itself
Twenty-six shipped entries and not one was typed onto the page. A check fails the build if the page and the ledger disagree, which is why the roadmap cannot quietly go stale.
The style guide is taken from the running site
Every build stamps the live production stylesheet into it and measures color contrast against real elements. If it cannot find the stylesheet to stamp, the build fails rather than publish a guide that might describe last week.
The bug list is the audit’s output
Open findings appear publicly with their severity, area and title. The reproduction steps and file references never do — a title says what is wrong; a repro hands somebody a map — and a check fails the build if one ever leaks. Fix something and the next audit removes the row on its own.
09 — Built to be found, by people and by machines
Increasingly nobody visits a page to get the answer. An assistant reads it and answers for them.
A single app page is invisible to a search engine — there is nothing on it to find until somebody types something. So the site also publishes ninety-two real pages, and they went up in one day.
A page for every question worth asking
One for every chain, one for every town with enough of a chain to say something about, one for every amenity, one for every set of published hours, one for every road trip, and one for stores announced but not yet open. “H-E-B in San Antonio” is a page now, not a search you have to run.
Each one has to earn its URL
A page is only built if there is something real to say on it — at least three stores on the side it lists. An amenity that 36 of 37 stores have does not get a page about the one that doesn’t. Nineteen checks run against every page before it ships.
Written so an assistant can quote it
Every page carries its facts as structured data as well as prose, so a model can lift an exact figure instead of paraphrasing a sentence. Five hundred and forty-three of those facts are collected in one public file, each with a permanent name, and a check compares that file against the pages so the two cannot drift apart.
The crawlers are named and invited
ChatGPT, Claude, Perplexity and Google are each named individually in the crawler policy and explicitly allowed, with a comment in the file explaining why. There is a hand-written index built specifically for AI assistants.
The lesson that came back the same week
All of it went live on 28 August. Two outside AI models were asked for a search-visibility teardown that same day. One of them reported that the site published no machine-readable data and had no real pages for crawlers to follow — both false, and both false because its tooling had converted the page to plain text before reading it, stripping exactly the thing it then said was missing.
Which is the lesson, and it is not a comfortable one: it is not enough to publish the answer. It has to survive the way the machine chooses to read it.
This is the kind of work Lankford Labs takes on — getting a real idea in front of real people fast, then building the discipline around it that makes the second month better than the first rather than more expensive.
texasfindem.com is live. It is independent, and not affiliated with, endorsed by, or sponsored by any of the companies it lists. Chain names, marks and colors belong to their owners and appear here to describe the work.