Skip to content

Latest commit

 

History

History
66 lines (42 loc) · 4.16 KB

File metadata and controls

66 lines (42 loc) · 4.16 KB

Writing for mlsystems.dev

You write everything here in your browser, in the visual editor at /write. You type, drop in blocks, and watch a live preview that looks exactly like the published page. When it reads the way you want, you submit. Not done in one sitting? Download your draft and upload it back later to pick up right where you left off — text, images, and all.

New here? The full path from idea to published is in CONTRIBUTING.md. Getting your name on it: becoming-an-author.md.


What you can create

This is where mlsystems.dev goes further than most places you can write. A good ML systems post is more than paragraphs, so the editor hands you the whole toolkit — reach for it freely.

Things you rarely get to use anywhere else:

  • Live, interactive React components — real, runnable widgets your readers can poke at: move a slider, change an input, watch the output update on the page. This is how you turn "here's the formula" into "try it yourself." Perfect for calculators and visualizers.
  • Mermaid diagrams — describe a flowchart, sequence, or architecture diagram in a few plain lines and it renders as a clean diagram. No drawing tool, no exporting images.
  • Diagrams you drew — paste in a vector diagram and it stays crisp at any size and looks right in dark mode.
  • Real code blocks — proper syntax highlighting for Python, CUDA, C++, Rust, Go, TypeScript, Bash, and dozens more — exactly as it'll look live.
  • Beautiful math — write real equations, inline or as full display blocks. The actual math, not a screenshot of it.

The essentials, done well:

  • Rich text — headings, bold, italic, inline code, links, quotes, and lists.
  • Images — a single figure with an optional caption, sized nicely by default and widened when a diagram deserves the room.
  • Galleries — several images that arrange themselves into neat rows.
  • Tables — a few clean styles, optional shaded rows, optional caption.
  • Video — embed a YouTube clip that only loads when the reader hits play.
  • Callouts — a short highlighted aside the reader shouldn't miss.
  • Dividers — a subtle break between sections.

Pick a block, fill it in, and see it render instantly. The whole point is to show your idea, not just describe it — so use whatever helps the reader get it.


The details you set

A handful of fields describe your post, and the editor walks you through them:

  • Title and summary — the summary is your one-line pitch that shows up on the index and social cards.
  • Topic — pick the area it belongs to (inference, training, quantization, RAG, agents, and so on), plus any tags you like.
  • Cover image — optional. Drop one in for the hero and social card, or we generate a clean card for you.
  • Authors — credit yourself and any co-authors. First time? You can add yourself right here.

Preview, then submit

The preview next to your draft is the real thing — what you see is what publishes. When you're happy, hit Submit post (or download it and email it to us). We review every post for clarity, correctness, and readability, then publish it and credit you.


Interactive tools and demos

Want readers to do something — a calculator, a visualizer, a live demo? Build it as an interactive component right in the editor. If you'd like it featured on its own in the Playground, just mention it when you pitch and we'll set it up with you.


Writing tips

  • Specific over generic. "How vLLM's PagedAttention actually works" beats "Introduction to LLM inference."
  • Show your work. Diagrams, benchmarks, and the assumptions behind your numbers — including the parts that didn't pan out.
  • Be honest about tradeoffs. Say where something is slower or what it can't do. It builds trust faster than another feature.
  • Cite your claims. Link the paper, benchmark, or codebase.
  • Write for a smart reader in a hurry. Define jargon on first use; assume ML basics but not your exact subfield.

There's no minimum or maximum length — match it to the topic.