Writing Guidelines
How we write. One voice across everything, technical posts, Hard Truths, manifesto, social, and it's Vlad's. A flawed human who built things, not a polished AI essayist who reflects on them.
> WRITING GUIDELINES // MARKDOWN
Copy the full writing guidelines as markdown to paste into a doc, repo, or AI prompt.
The Voice
Someone who has built things and is being honest about what they observed rather than what sounds good. Commits when sure, hedges when not, wanders when the thought wanders, isn't trying to land a punch.
> THE FOUR THINGS
Core Rules
Get to the point. No throat-clearing.
"In today's evolving landscape" is dead weight. So is "in this post we'll examine three patterns". Both add words without signal. Specific scene-setting ("Me, Jude, and Robby were having a debate about something we'd been going back and forth on for a few days") is doing real work and isn't throat-clearing.
Hedge when uncertain. Commit when sure.
Most decisions are uncertain so hedges are common ("I think", "we'll try", "for now", "I'm not sure yet"). When you actually know something, say it without hedging. The AI-essay default is full conviction on every claim, that's the failure mode.
Acknowledge work in progress.
Say it's not done. Say what you'll iterate on. Say what you got wrong last time. The AI-essay tendency is to present everything as a finished thesis, which it almost never is.
Close by leaving space, not by landing.
Don't close on a conclusion and call it done. Most posts are part of a longer thought, the close should make that visible. The open question, the thing you're not sure about, the next post in the series, the controversial take you're floating to see what comes back.
Banned at the end, the constructed mic drop. Also banned, the soft "hope this is useful". The right close is somewhere between, an honest "here's where I'm landing for now and here's what's still open".
Use parentheticals freely.
Short factual or wry asides in parens are how the prose thinks. Don't strip them in editing. They're cleaner than restructuring the sentence to fit the detail in.
Be specific about when, where, and who.
"At 11pm on Tuesday" beats "later that day". The biographical detail is what makes the post feel witnessed rather than constructed. Vague time markers like "somewhere in those first few hours" are a tell that the post was written from memory of a feeling rather than memory of a thing.
Show the reasoning, including what you rejected.
"We chose X" tells the reader nothing. "We tried A, B, and C, ruled them out for these reasons, and ended up with X" tells them you actually thought about it. The rejected paths often carry more signal than the chosen one.
Vary sentence length but let the long ones run.
If a sentence needs to be long to follow the shape of the thought, let it be long. Wall-to-wall short sentences perform urgency. Wall-to-wall long sentences turn into mush.
Be specific. Use numbers, names, details.
"300 applications in an hour" beats "strong demand". "47ms p99 latency" beats "fast". The specific detail is what makes an observation feel real.
Assume intelligence.
The reader is technical, sceptical, and has been burned before. Treat them as a peer.
Use dark humour when it fits.
Gallows wit that acknowledges the absurdity of the status quo is on-brand.
Admit your own role when you have one.
If you're criticising a pattern you participated in, say so. If a clever decision backfired, say so.
Allowed With Care
Two things that AI prose abuses but that genuinely belong in the voice when used right. The test for both is the same, are they compressing something the post actually does, or are they replacing the work the post should do?
Aphoristic claims that the post defends.
An aphoristic punchy line is allowed when it compresses a real claim the post defends with evidence. Banned when it's decorative, vibes-only, or carrying a point the prose hasn't actually made.
One opening claim that the post backs up is fine, often it's the cleanest possible statement-box. What's not fine is a string of aphorisms doing the argumentative work the prose should be doing, or a tagline that just sounds quotable.
The test, if a sceptical reader asked "okay, prove it", does the rest of the post actually do that?
Metaphors that compress an explanation you've already made.
A metaphor is allowed when it compresses an explanation you've already earned the right to make. Banned when it replaces the explanation, when it's decorative, or when it's the only way you can make the point (which means the point isn't clear yet).
One or two per post that genuinely carry weight, not four in the same paragraph because the paragraph is doing too much work.
What to Kill on Sight
Em dashes. All of them.
No em dashes anywhere. Not in lists, not after a noun being defined, not in argumentative prose, not in updates, not in citations. Use a comma, a period, a parenthetical, or restructure. Readers now pattern-match em dashes as generated text.
Colons.
Don't use them. Restructure with a comma, a period, or a parenthetical.
Constructed mic-drop closers.
An aphoristic verdict at the end of the post that's there to land the post like an applause line. Even if the claim is real, the closing position pretends to be the finish line. Closes leave space instead. The same move at the end of a paragraph, a section or a callout box is the same kill. If the sentence before already ended on something concrete, end there.
Decorative or undefended aphorisms.
An aphoristic line that doesn't compress a real claim the post defends, or that does the argumentative work the prose should be doing. See "Allowed With Care" for the role a defensible aphoristic claim can play, this kill is for the rest.
Decorative metaphors.
"Like a mirror" used in place of an explanation, "wearing a different hat", "the plot of every X", strings of metaphors stacked because the underlying point isn't clear. See "Allowed With Care" for when a metaphor earns its place.
The rhetorical flip.
"It's not X. It's Y." sounds decisive, it's a cliché. Say the thing directly. It hides in other shapes too, "this isn't about X, it's about Y", "not because X but because Y", a run of negatives before the real point ("not the admin, not the form, but…"), and "rather than" used as a pivot for effect. Say Y plainly, and keep a "not" only when it carries a fact.
The cascade chain.
Listing consequences as a chain of short sentences reads like bullet points in disguise.
The emphasis beat.
A short sentence dropped next to a longer one to punch it, carrying no information of its own. "They have to." "It does." "Not anymore." It either restates the sentence before it or pre-announces the justification coming in the sentence after, while the real content sits in the neighbours. The move performs conviction without adding information, and LLMs reach for it constantly, which is why it reads as generated now.
This is not a ban on short sentences. Varying length is a separate rule and the mix is good. It's a delete-test. Cut the short sentence. If the paragraph loses a fact, keep it. If it loses only a beat, it was decoration, merge it or fold the content into the sentence beside it.
The contrast pair is the same family ("The plan was simple. The execution was not."), two short sentences set against each other for effect rather than for content. Same delete-test, cut either half and you lose the antithesis but no fact.
Triads of near-synonyms.
Three adjectives or phrases that mean roughly the same thing ("clear, precise, and exact", "fast, efficient, and scalable", "careful, measured, thoughtful"). If the three items could collapse to one without losing meaning, the triad is decorative rhythm filling space. Different from a triad where each item names a distinct thing (three different companies, three different failure modes, three different threat profiles), which stays. The test, could you pick which one mattered most, if not they're synonyms in a costume.
The version that fails hardest is three adjectives stacked before a noun ("a clean, simple, elegant design"). That's the AI tic at full volume. The version with three comma-separated clauses where each clause names a distinct thing is usually fine.
Polish words used for emphasis.
"Actually", "obviously", "exactly", "genuinely", "truly", "structurally", "underlying". AI prose uses these to add weight to claims, and "quietly" or "silently" to add drama to a plain event ("costs quietly crept up"). Every "actually" in the draft is a candidate for deletion.
Copula avoidance.
Default to "is" and "has" unless a specific verb genuinely adds meaning. AI prose avoids plain copulas by reaching for press-release verbs that inflate the sentence without adding information. "The system serves as a gateway" is "the system is a gateway" in costume. Same for "features", "boasts", "presents", "represents", "embodies", "reflects", "constitutes", "delivers", "provides", "offers", "encompasses", "comprises", "functions as", "acts as", "stands as". If swapping in "is" or "has" makes the sentence clearer, the fancier verb was doing nothing.
The exception is a verb that carries real motion or consequence. "The daemon reads the marker" is not copula avoidance, it's describing an action. "The architecture serves as the foundation" is.
Polished essayist transitions.
"And the incentive structure makes it worse." / "Which means…" / "Add to that…" Flagged transitions that announce the structure of the argument. Just keep going.
Pronoun drift.
Long sentences are good. Pronouns three clauses away from the noun they refer to are not. Re-name the subject instead of leaning on "it" or "them" or "that".
Padding.
"Additionally, it's worth considering…" is always deletable. So is any sentence that summarises what the previous paragraph already made clear.
Runs of repeated openings.
Several clauses or sentences in a row that start the same way ("your note-taking app, your code editor, your email assistant…", four lines of "It will…", "the same… the same… the same…"). It's rhythm standing in for an argument. Keep the one that matters and say it once.
Interpretive asides and meta lines.
Lines that tell the reader how to read the text instead of saying something ("This is the part I keep coming back to", "there's an irony here I should name", "that's the point", "What stuck with me was…"), and lines about the post itself ("this post is how", "I'm not going to tidy it up"). Cut them and let the content carry the weight.
Teasers and the both-sides beat.
A line that announces the next one ("There's a chart that shows why") instead of saying the thing, and the tidy balance line ("and that's the trap", "both things are true at the same time"). Say the thing, and say which side you're on.
Sweeping claims without a source.
"Every wellness platform…", "Most London tech firms…". A claim about everyone in a category needs a source like any other claim. If it's your own observation, say it as yours ("the firms I've worked with").
Count clusters, not single hits.
One of these patterns in a paragraph is normal human writing. Three in one paragraph is what reads as generated. Fix the clusters first, and look hardest at the last line of each paragraph, the callout boxes and the final paragraph, because that's where they gather. After cutting, reread the whole post, since a cut that leaves a dangling "it" or drops the step the next paragraph stands on is worse than the flourish it removed.
Banned
Structure
Opening
Three options that work. Specific scene-setting ("Me, Jude, and Robby were having a debate"). Direct claim of what changed ("Memory makes models more agreeable, and the data is starting to back it up"). Aphoristic claim the post will defend ("The longer your AI knows you, the less likely it is to tell you the truth", followed by the studies that prove it). What doesn't work, throat-clearing about what the post is going to do, or a tagline with no claim attached.
Body
Wander. Follow the thought. The shape is "here's what happened, here's what broke, here's what I tried, here's where I am now", not thesis-evidence-conclusion. The argument lives in the walking through, not in a pre-arranged outline.
Headings
Plain and descriptive. "How does this work?", "Why this approach?", "Known limitations". Not aphoristic chapter labels ("The Compound", "The Way Out"), that's a LinkedIn carousel pattern.
Ending
Leave space, don't land. Flag the open question, the thing you'll iterate on, the controversial take you're floating, the next post in the series. No constructed mic drops at the close, even if the claim is real, the closing position turns it into an applause line.
The Boxes
Three types, used sparingly. Boxes hold strong claims. Punchy verdicts that would otherwise sit alone in a paragraph belong in a box, where they have a job.
A strong opinion you'd defend, but might be wrong about.
Something you're certain of. Use sparingly, if everything is a signal, nothing is.
> USAGE RULES
Format Rules
The Test
Read it back. If it sounds like an essay constructed after the fact, rewrite it. If it sounds like you walking someone through what you actually did and what you're still figuring out, ship it.
References
Posts that make empirical or historical claims need references. The voice rule is "hedge when uncertain, commit when sure", and the way you commit when sure is by linking the source so the reader can check. A claim with a number in it, a study, a date, a quoted phrase, or a historical reading that isn't common knowledge gets a footnote. Aphoristic claims you're defending across the whole post don't need one, the post itself is the defence.
Format, footnote-style with a numbered marker in the prose ([1], [2], [3]) and a > REFERENCES block at the bottom of the post. Each reference is a short paragraph, not a bare citation. The paragraph names the author, the year, the publication, what the source is the source for, and a clickable link. The reader should be able to read the reference block on its own and understand what each source contributed to the post.
What the reference block is for, three things at once. First, the obvious one, letting the sceptical reader check the claim. Second, signalling that you actually read the source rather than asking a model to summarise it, which is a real signal in 2026 because most prose with citations now didn't go near the source. Third, the reference block is the post's working memory, six months from now you'll want to find that one piece again and the reference block is where it lives.
What's banned in references, the same things that are banned in prose. No em dashes in citations (worth restating because it's the place people forget). No colons in citation paragraphs. Don't use "delve into" or any of the other banned phrases inside the reference text just because it's the reference block, the voice carries through.
What's allowed that isn't allowed elsewhere, slightly more structured prose. The reference paragraph can list "source for X, source for Y, source for Z" because that's what the paragraph is doing. It can name a secondary source in addition to the primary one ("BBC also carried the story at bbc.co.uk/news for readers who prefer that source"). It can quote a single short phrase from the source if the phrase is the thing you're citing.
Social Media
Same voice, shorter. A social post is one point from the work, said the way he'd say it to a peer, with the link for anyone who wants the rest. The accounts are @vcealicu on X for him and @localghostai for the site, and u/ZeroCool86 on Reddit.
Everywhere
Open with the thing. The number, the scene or the claim goes in the first line. No hook formulas ("I was fired. Best thing that ever happened.", "Unpopular opinion", "Stop doing X").
One post, one point. Pick the line from the work that carries it, often the footer quote or a real number ("the forecast on my phone now comes from four weather models, read and blended on a box under my desk"), rather than a summary of the whole post.
Say what the link is. "I wrote up how the box gets its prices, map and weather without anyone's API" beats "New post!".
Humble, with the work attached. Say what's not done and what someone could build themselves. No humblebrags ("I don't usually post this, but…"), no "I'm thrilled or humbled to announce", and no fake vulnerability arcs built to sell something.
No engagement bait. No "Agree?", "Thoughts?", "Read that again", "Let that sink in", "That's it. That's the post", or "P.S. repost if this helped". If he wants replies, ask a real question he wants answered.
No decoration. No emoji as bullets, no thread emoji on something that isn't a thread, no Unicode bold, no hashtag walls, and no one-sentence-per-line broetry.
The voice rules still apply. No em dashes, no colons in prose, no flips, no mic drops, British spelling, and real numbers.
People. Don't name or tag anyone from a post unless he says so, and never post on their behalf.
Replies. Answer like a person, with facts, including "you're right, that's not done yet". Don't argue with bad faith, and never write "great question".
X
Length. One post under the limit. The point, one specific detail and the link. The line that would be the post's footer quote usually works.
Threads. Only when there are three or more points that each stand alone, written as normal sentences. No thread emoji, no "1/", and no "a thread on why…".
Hashtags. None, or one if it names something real.
Which account. Personal opinions and the story behind a post go on @vcealicu. Release notes, posts and site news go on @localghostai, in the same voice, still in first person where it's him.
LinkedIn
Form. Short prose paragraphs, not one sentence per line. Two to four paragraphs that open on the scene or the number, then why it matters to people who build or run things, then the link.
Angle. His CTO and founder background earns the work angle (what twelve years of CryptoCompare taught him, what it costs to run a box, hiring and juniors), told as what happened rather than as lessons.
No lesson lists. No "7 things I learned", no "here's what nobody tells you", no "Everyone says X. They're wrong."
End. End on the open question or the link, not a call to engage. At most three hashtags at the very end, and none is fine.
Reddit
The sub comes first. Read its rules and its self-promotion ratio. Post where the post is useful (r/selfhosted, r/LocalLLaMA, r/homelab and the like), not everywhere at once.
Say who you are. "I built this" or "I wrote this", every time. Never astroturf, never post as if he were a passer-by, and never use alt accounts.
Titles. A plain title that says what it is ("Built my own weather forecast from the open model files, here's how"), with no clickbait and no capitals for emphasis.
Body. The useful part in the post itself (the numbers, how it works, what's not done) so nobody has to click. The link goes at the end.
Comments. Stay and answer them. Technical questions get technical answers. Criticism that's right gets "fair, that's not done yet" and a fix later.
Tone. Dry humour is fine. Marketing voice is not, and Reddit will smell it.
Hacker News
Titles. Plain and factual, "Show HN" only for something people can try or read the code of. No superlatives, no "revolutionary", no emoji, and a comma rather than a dash.
First comment. He writes it himself, saying what it is, why he built it, what's built and what isn't, and what he'd like feedback on.
Answers. Short and specific, with numbers. Concede what's true. Never ask for upvotes.
Mastodon and Bluesky
Same rules as X, with a little more room. Hashtags on Mastodon help people find posts, so one or two real ones are fine.