Hello
About Sirasoft
Long-form essays, working notes, and visual stories on shipping software, design systems, and the craft of building products.
The why
This blog is a place for slow thinking — long-form essays, photo stories, and notes from the trenches of building software. We optimize for clarity over clicks and for craft over hype.
How posts get published
Every post is a single MDX file living at content/posts/<slug>.mdx. Frontmatter at the top sets the title, description, date, tags, cover image, and an optional layout. The rest is normal Markdown — plus a small set of components you can use for richer storytelling.
1. Frontmatter
---
title: "A short, opinionated title"
description: "One sentence that earns the click."
date: "2026-04-15"
tags: ["design", "writing"]
cover: "/covers/my-post.jpg"
coverAlt: "A description of the cover image"
author:
name: "Your Name"
avatar: "/authors/you.jpg"
layout: "default" # default | wide | essay | gallery
featured: true
---2. Components available inside MDX
Inline images. Plain markdown  renders as a full-width inline image with the alt text used as the caption. Use this for most reference images mid-post.
For images that float beside a paragraph (small reference shots), use <InlineImage src alt align="left|right|center" size="xs|sm|md" />. For wider hero figures with optional bleed, use <Figure src alt caption bleed />.
<Callout tone="tip" title="…">…</Callout>— info, tip, warning, danger, quote<InlineImage src alt align size />— small floating reference images<Figure src caption />— captioned hero images, with optional bleed<ImageGallery layout="grid|masonry|row|side-by-side" images={…} /><TwoColumn ratio="1-1|2-1|1-2">…</TwoColumn><VideoEmbed id="…" provider="youtube|vimeo" /><Quote cite source>…</Quote><StatGroup><Stat value label hint />…</StatGroup>
3. Layouts
Choose the column width that fits the post:
default— standard reading column (~720px)essay— narrow column for prose-heavy long readswide— for posts with lots of code or imagerygallery— works well with full-bleed figures
4. Code blocks
Standard fenced code blocks are syntax-highlighted at build time with Shiki. Use a language hint after the opening backticks:
Drafts & featured posts
Set draft: true in frontmatter to hide a post until you’re ready. Set featured: true to surface it at the top of the home page.
That’s it.
No CMS, no admin, no auth. Just files in a folder and a build step.