Two product pages in under an hour
On 23 October 2026, lfm 0.1.7 compiled two product sales pages, from project setup to publication. This case study records the checks, build timeline and dated live measurements.
- First lfm init to both pages live
- 44 minutes
- Both release compiles
- 0 errors, 0 warnings
- Lighthouse mobile, both pages
- 100 / 100 / 100 / 100


What it shipped
- Sans Slop (€29 launch price, €39 from 1 December 2026). A pack that steers coding agents away from UI and copy that reads as generated: project rules for Cursor, Claude Code and Codex, worked before/after examples and a local checker that runs after a draft. Its word and phrase lists are extracted from lfm's own copy and design checks, under lfm's MIT license. The pack has 43 files, 526 hard-list entries plus 54 watch words, and a 763-byte always-on core file. Its build runs 23 tests.
- Grok Bot Squad Kit (€59 download, €249 with a written custom plan). Templates for running several Grok Bot bots with clear handoffs and approval stops: 12 bot blueprints, 16 routine specs and 8 operating guides, plus an eight-question ban-risk check that runs in the browser.
Timeline
23 October 2026, CEST; from the git log and lfm’s compile logs.
- 22:44
lfm initfor Sans Slop - 22:45
lfm initfor the Squad Kit - 22:58first Sans Slop release compile: 4 warnings
- 23:04first Squad Kit release compile: 4 warnings
- 23:05Squad Kit release compile: 0 errors, 0 warnings
- 23:13Squad Kit live (commit time)
- 23:21Sans Slop release compile: 0 errors, 0 warnings
- about 23:25Sans Slop live; 23:28 the commit that records it
44 minutes from the first lfm init to the commit that recorded both pages live. Every page change went through lfm compile again.
What lfm did
Research. lfm's research skill has the agent collect dated buyer posts and competing pages first; the
research.balance check holds them to minimums (60 posts, 5 platforms, 12 competing pages) and
every compile report counts them. Each page's research ended at 70 dated buyer posts on 5 platforms and
12 competing pages. For Sans Slop the posts came mostly from Hacker News (40%), Reddit (40%) and GitHub (14%);
for the Squad Kit from Reddit (40%), X (40%) and the Cursor Forum (17%). The concepts built on them,
"Copy editor's proof" and "Dispatch room", cite 37 and 30 of those posts.
Checks that caught real problems
commerce.checkout(Sans Slop): the buy button still pointed at a placeholder payment link. lfm flagged lfm.json line 26 on every compile until the real link went in.release.layout(Squad Kit): the release build rendered the page in Chrome and found that the heading font Chivo had no glyph for the right and down arrows, and the mono font had none for the box-drawing corner, horizontal line and Roman numeral two, so a fallback font drew them. The agent set the arrows in a face that has them, replaced the box-drawing line with a CSS border and wrote II.lighthouse.network-dependency-tree-insight(Squad Kit): a second font loaded late in a request chain; the fix was a preload. Both fixes landed in one commit and the next release compile had 0 warnings.- Other Sans Slop builds that evening also flagged a home link whose accessible name did not match its
visible text (
lighthouse.label-content-name-mismatch) and text smaller than 12px on about half the page (lighthouse.font-size: 51.56% legible).
Release review
Each release compile rendered the page in Chrome and saved screenshots at phone and desktop widths (55 for Sans Slop, 65 for the Squad Kit). The Sans Slop frames were reviewed at 390, 1280 and 1440 pixels wide before deploying.
Results, measured live
Measured from our build machine on 23 October 2026 at 23:31 CEST: 5 curl requests per page for server response, one Lighthouse 12.8.2 run per page with the mobile and the desktop preset. One run from one machine; your numbers will differ.
| Measurement | Sans Slop | Grok Bot Squad Kit |
|---|---|---|
| HTML, as sent (brotli) | 8.6 KB | 11.5 KB |
| HTML, uncompressed | 24.9 KB | 35.6 KB |
| Everything the first view loads | 64.5 KB in 6 requests | 60.4 KB in 6 requests |
| Time to first byte, median of 5 | 0.20 s | 0.19 s |
| Lighthouse mobile | 100 / 100 / 100 / 100 | 100 / 100 / 100 / 100 |
| Largest Contentful Paint, mobile | 1.3 s | 1.2 s |
| Largest Contentful Paint, desktop | 0.3 s | 0.3 s |
| Total Blocking Time, mobile | 0 ms | 80 ms |
| Cumulative Layout Shift, mobile | 0.006 | 0.001 |
The first-view totals include a 1 KB script the CDN injects into both pages. Both release compiles used lfm 0.1.7 and recorded 0 errors and 0 warnings on that date.
What we'd improve in lfm
- The Squad Kit page was first built inside a sandbox that blocked local ports. There
lfm compile --releasecrashed with a Go panic ("httptest: failed to listen on a port") instead of reporting a finding. It should say that the release check needs a local port and Chrome, and how to fix that. Outside the sandbox the same release check passed. lighthouse.max-potential-fid, a diagnostic, appeared in 11 of 39 release builds that evening across the five pages the agent built, while performance stayed at 100. A strict "0 warnings" rule then fails at random. Diagnostics that do not move the score should be reported apart from findings, or measured twice before they warn.