Sirasoft.

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 ![alt](url) 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 reads
  • wide — for posts with lots of code or imagery
  • gallery — 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.