On most publishing platforms, AI/ML writing comes out broken. Code loses its indentation. Equations turn into screenshots. Discovery buries technical work under generalist content. Empirq is the platform I built so AI/ML writers don’t have to keep fighting their tools. The rest of this post is how I got there.
I’d been doing two kinds of work in parallel: AI/ML research (LLMs, RAG, multi-agent frameworks, and the architectures that hold them together) and technical writing (walkthroughs and working examples for an engineering team, the kind of write-ups that compress weeks of someone else’s reading into a page a colleague can actually use).
Both halves kept colliding with the same wall. The public-facing AI/ML posts I was reading were extraordinary. The platforms they were published on were not.
The gap I kept bumping into
I’d be reading a post about a RAG architecture and an equation would be a screenshot. The next post would be a LangChain tutorial with code blocks that had lost their indentation, just a continuous run of soft-wrapped text where Python used to be. The one after that would be a transformer explainer where every formula was rendered as a PNG, a few pixels off the baseline of the surrounding text.
Newsletter platforms are a little better for math (some support block LaTeX, grudgingly) but inline math frequently doesn’t work and code support is threadbare. Professional networks have almost no formatting and still somehow host enormous amounts of ML content because that’s where practitioners are. Developer-community platforms handle code well but bury ML writing under generalist tutorials. Personal blogs handle everything correctly but force every writer to reinvent distribution, subscriptions, and newsletters on their own.
What I kept seeing was a pattern of compromises. Equations pasted as images. Posts broken into three parts because the editor refused to handle the length. Writers apologizing inline for formatting they couldn’t control, something to the effect of “sorry for the image, this editor doesn’t render math.” Those apologies, and the resignation behind them, are what I couldn’t stop thinking about. Some of the most technically sophisticated people writing online were having to choose, every time they published, between reaching an audience and rendering their content correctly.
The math here isn’t decoration. The code isn’t decoration. They’re load-bearing.
The moment I decided to build it
The answer had a clear shape. AI/ML writers needed what a general-purpose platform wouldn’t give them. Native LaTeX. Server-rendered syntax highlighting. A discovery model built around subfields rather than a general-audience feed. A monetization structure that didn’t hide its math behind a black box. None of these were research problems. They were engineering problems, and the engineering was tractable.
When I left that job, I didn’t leave with a single idea. I had a list. Multiple projects I’d been quietly designing in the margins of the day work, each one technically interesting, each one worth building. Empirq wasn’t the most ambitious of them, and on paper it wasn’t even the most urgent.
But it was the one closest to what I’d actually been doing every day: reading papers, prototyping, running trial-and-error in a Python notebook, and writing walkthroughs for an engineering team. Empirq is a platform for that kind of technical work, the writing AI/ML practitioners do every day, in a format that finally does it justice. Every other project on the list would have meant putting that work down. Empirq let me keep doing it in public.
So I rotated it to the front of the list. The question wasn’t whether to build it. It was whether to start now or keep watching the gap grow. I decided to start now. That was Empirq.
Who’s building this
One thing worth being explicit about: I’m a software engineer building infrastructure for AI/ML experts, not claiming to be one of them. The writing I want on this platform is from researchers, scientists, and practitioners who know their corner of AI/ML far better than I ever will. My job is to build the place where their work renders the way it deserves to, and to keep learning the field alongside them.
Empirq is the product closest to the work I was already doing: researching, writing, building, and learning with technical people. It comes first because the trust of a technical audience has to be earned one product decision at a time, and that needs focused attention.
What Empirq is
Empirq is a publishing platform purpose-built for AI/ML practitioners: writers who work with code and math and expect both to render correctly, and readers who want their feed to contain the work of people who write about their subfield rather than everything the algorithm thinks they might click on.
Four things matter most, in order of importance.
Native math rendering, both inline and block. KaTeX, rendered server-side so there’s no flash of unformatted math while the page loads. Inline equations sit inside sentences where they belong. Block equations get their own space. Copy-paste gives you the LaTeX source back, not an image.
Here’s what that looks like in practice. If I want to describe Thompson Sampling, a classic algorithm for balancing exploration and exploitation, I can write the sampling step inline: we draw a reward estimate from each arm’s posterior, and select the arm with the highest sample, . That sentence flows as a sentence. On most blogging platforms, those same two inline expressions would require two separate equation screenshots and would break the sentence in half.
Server-rendered, syntax-highlighted code blocks. Python, TypeScript, Rust, Julia, R, SQL, YAML, shell, whatever language you actually use. Highlighted server-side with Shiki so the code is styled before JavaScript loads. Indentation preserved. Copy button copies the real source. Language label included.
Here is a minimal Thompson Sampling implementation:
import numpy as np
class ThompsonSampling:
def __init__(self, n_arms: int):
# Beta distribution parameters for each arm
self.alpha = np.ones(n_arms) # successes + 1
self.beta = np.ones(n_arms) # failures + 1
def select_arm(self) -> int:
# Sample from each arm's posterior, pick the largest
samples = np.random.beta(self.alpha, self.beta)
return int(np.argmax(samples))
def update(self, arm: int, reward: float) -> None:
# Update posterior with observed 0/1 reward
self.alpha[arm] += reward
self.beta[arm] += (1 - reward)
The code block above is navigable. You can read it. If you want to run it, you can copy it out cleanly. On most blogging platforms indentation may survive, but highlighting, labels, copy behavior, and visual hierarchy often don’t.
Subfield-based discovery, not algorithmic feed. When you tag a post with Reinforcement Learning or Computer Vision or MLOps, that post lives in the corresponding subfield feed. Readers who want RL content find RL writers. There’s no opaque ranking system shuffling your post against content that wasn’t trying to compete with it. The taxonomy is explicit, the routing is explicit, and both writer and reader can see how discovery works.
Stripe Connect for monetization. Paid subscription revenue flows directly into your Stripe account. The platform takes 10% for infrastructure and support. The subscriber data available to writers is exportable as CSV at any time from your dashboard. You can export your content at any time too. If you leave, you can take your content and subscriber data with you. No Partner Program math that only the platform can see.
Everything else (the editor, the article pages, publication profiles, newsletter delivery) is table stakes. Those four above are why Empirq exists, and they’re what you’ll feel the moment you publish your first post.
What Empirq is explicitly not
I want to be clear about what we’re not building, because the things you don’t build shape a product as much as the things you do.
These are today’s commitments. The product will evolve. If any of them change materially, we’ll explain why, openly, before it happens. No material shifts quietly buried in a Terms update.
No black-box recommendation engine. Today your feed is what writers you follow have published, plus what’s been upvoted in subfields you’re subscribed to, with no opaque ranking model in between. If we ever introduce a ranking signal, it will be transparent: documented, explainable, and something you can opt out of.
No advertising business, and no plans for one. Today the 10% platform fee is the entire business model. We don’t sell reader attention to advertisers, we don’t have a “data partnerships” page, and we’re not running a second monetization track. If that ever needs to change, for example to fund a major new capability writers ask for, we’ll explain why and give writers room to weigh in before it happens.
No status updates or social-feed clutter. Empirq is for technical writing: long-form first, with room for short technical notes when they earn their place. We’re not building a status feed, a “what I’m thinking right now” surface, or anything that rewards low-signal posting volume.
Not for every kind of writing. The audience is AI/ML practitioners today, with room to grow into adjacent technical fields where math and code render alike. If you’re a generalist newsletter writer, a fiction writer, or a lifestyle blogger, almost any other platform will serve you better than Empirq. We’re trying to be excellent for one specific kind of writing, not adequate for every possible kind.
The founding writer program
Empirq launches with a founding writer program. The first 20 writers accepted keep 100% of their net subscription revenue permanently, subject to the Writer Agreement, and get a founding writer badge on their publication. They also get direct access to me at [email protected] for feedback while the product is young enough to shape. Content and subscriber exports are always available with no penalty.
The 0% platform fee isn’t a launch promo. That rate lasts as long as the account is in good standing. After the founding cohort fills, standard terms are 90/10. The exact language, including the narrow good-standing exceptions and how future rate changes work, lives in the Writer Agreement § 4.
Being honest about the competitive picture
A solo founder building a SaaS publishing platform isn’t going to win a traffic war against the incumbent newsletter and blogging platforms, and isn’t trying to. They will remain where most general writing is published, and they should.
What I can do is build a home where every feature is designed specifically for AI/ML writers, the product is oriented toward practitioners rather than a general audience, and the money is paid out on terms the writer can read in full, with no hidden platform fees. Trying to be a general-purpose publishing platform would mean diluting all of that: the audience definition, the editor focus, the revenue structure. Empirq is making the narrower bet on purpose.
Empirq isn’t trying to work for everyone. It’s trying to work for the writers whose posts keep getting flattened into screenshots and pasted text.
What comes next
You’re reading this on Empirq itself, rendered with the same math and code pipeline every post uses. The editor works, publishing works, LaTeX and code rendering work, and the founding writer Stripe Connect flow works. Still being built: newsletter delivery refinements, custom domain support, threaded comments, manual version snapshots with restore, and richer diagrams. The order will follow what founding writers ask for first, not a pre-set timeline.
If you’re a writer whose work keeps fighting its platform, if you’ve pasted a LaTeX screenshot this month, or apologized for formatting you couldn’t control, or wondered why the best ML writing on the internet still lives in containers built for something else, I’d like to have you on Empirq. Reach out anytime at [email protected]. If an invite brought you here, replying to it reaches me too.
If you’re a reader, follow the subfields you care about. The feed will fill as writers join.
And if you’re just curious, thanks for reading this far. The whole premise of Empirq is that this kind of writing deserves a better container. I hope what you’re looking at right now is evidence that one is possible.
— Sarith Khlot
Founder, Empirq