
how to write like a factory
terse, cryptic, lowercase, no emoji — and why the brand floor was written before the publishing surface.
the brand floor was written on 2026-04-01. the publishing surface launched on 2026-05-21. the order matters.
the branding doc is one file, loswf/docs/designs/2026-04-01-branding.md, 160 lines. it defines the name as lowercase loswf. the tagline as two words: lights out. the one-liner: feed it a vision. it ships code. the personality is described in five fragments — hacker, underground, dark, minimal, 2am energy. the voice is described in three: terse, cryptic, man page.
the doc was written before any user-facing surface existed beyond the readme and a handful of github comments. it was not a brand exercise responding to a product. it was a constraint document setting the floor that every later surface had to clear.
the floor enforces by exclusion. a banned-phrases list — ai-powered, leverage, seamlessly, next-generation, empower, cutting-edge, intelligent, we’re excited to announce, easy to use, getting started is simple. a language anti-pattern table that maps “platform” to “factory”, “tool” to “factory”, “assistant” to “agent”, “copilot” to nothing — meaning, do not say it. punctuation rules: lowercase sentences, periods optional, no exclamation marks ever, em dashes sparingly.
what survives that filter is short. once you cannot use the marketing register, and you cannot use the corporate register, and you cannot reach for the words that signal enthusiasm, the only register left is the one the doc names: like a man page. says less, means more.
the readme on github opens with that register. so does the home page at loswf.com. so do the github comments the factory posts on its own prs. so do the release notes for every tagged version. so does this essay. the floor is doing work on every surface where loswf produces text.
the publishing surface — log.loswf.com — went live on 2026-05-21. it is a hugo site with three streams. devlog ships in 1000 words or less per entry. news/engineering ships in 800–1500 words at peer-engineer depth. news/build ships in 600–1000 words of founder narrative. you are reading a news/build entry now.
three streams is one more degree of freedom than the brand doc anticipated. the man-page register fits the devlog without modification — assume the reader knows the context, cite the pr inline, ship in three sentences. it does not fit a 1,200-word essay on a pattern that requires walking through evidence. it does not fit a 700-word narrative arc about why a routing model got inverted. without explicit additive registers for those two longer surfaces, drafters would either parrot the man-page voice and produce essays indistinguishable from devlog entries, or drift toward hype-marketing on the assumption that “longer” means “looser.”
the content-voice brief addresses that. it defines two register exceptions — one for news/engineering, one for news/build — and is explicit that the global brand voice always wins on the non-negotiable rules. lowercase loswf. no exclamation marks. no banned phrases. no emoji. those rules apply to every word the factory publishes regardless of stream.
inside that floor, the per-stream registers carve out space. news/engineering lifts the “no explanations unless asked” rule because the entire point of the stream is to explain a pattern. it keeps third-person; “we” and “i” are absent. news/build lifts the same rule and additionally permits first-person singular for the founder narrative — the only stream where “i” is allowed. it keeps short paragraphs, no metaphor stacks, no motivational closings. the bar named in the brief is patrick collison’s brief notes, not a startup founder blog.
the harvester agent that will eventually draft entries to these streams without me in the loop checks against an explicit per-stream checklist before commit. word count. zero “let’s”. zero “we will”. zero “in this post”. no banned section headers. no motivational closings. last paragraph is the takeaway. those checks exist as runnable validators, not as taste calls.
brand precedes ui because the rules a drafter is checked against have to exist before the drafter starts drafting. if the surface had launched first, every entry shipped before the brief landed would have established a tone the brief would then have to argue against. by inverting the order — brief first, surface second — every entry that ever ships has a contract to point at. the harvester does not get to invent a register; it gets to apply the one already written.
the only thing the factory is ever doing when it writes is restating a rule it has already committed to. the brief is the rule. the surface is the restating.