Hi, I'm Theshawa. I build a lot of things. Most of them are for myself, because I got annoyed at something and decided to fix it.

showit is one of those things.


The Problem

Every time I had to give a presentation, I faced the same options. Use PowerPoint or Google Slides and spend half the time dragging boxes around. Or use one of those "developer-friendly" tools that needs a config file the size of a novel just to change the font.

I write everything in Markdown. My notes, my docs, my to-do lists — all Markdown. So why should my slides be any different?

They shouldn't. That's why I built showit.


What It Is

showit is a tiny command-line tool that turns a folder of Markdown files into a presentation. You run it, it opens a viewer in your browser, and that's it. No accounts. No cloud. No drag and drop.

One file per slide. Plain Markdown. Nothing to learn.


How It Works

You create a folder, throw in some .md files, and add a small showit.config.json:

{
  "title": "My Talk",
  "theme": "dark",
  "slides": [
    "01-intro.md",
    "02-demo.md",
    "03-thanks.md"
  ]
}

Then you run:

showit

That's it. The viewer is up at http://localhost:4321. Navigate with arrow keys, go fullscreen with F, and adjust the font size on the fly with and +.


What It Supports

Markdown is Markdown, so you get all the things you'd expect — headings, bold, italic, lists, blockquotes, and code blocks. The code blocks are syntax-highlighted using shiki under the hood. It looks really good, honestly.

You can also drop images in the same folder and reference them like:

![diagram](./diagram.png)

They just load. No extra setup.


The Little Things

I care a lot about the details. A few things I'm happy with:

Themes. Light, dark, or system — it follows your OS preference if you want it to. The theme button in the footer cycles through them. Your choice is saved in the browser, so it remembers next time.

Transitions. You can pick "slide", "fade", or "none" in the config. I use "slide" personally. It feels clean.

Font scale. Sm, md, lg, xl. Because sometimes you're presenting on a tiny laptop and sometimes you're on a big projector. One click to adjust.

Portable binary. This one I'm proud of. showit is a single .exe file. Copy it anywhere, run it anywhere. No Node.js, no Bun, no node_modules folder haunting your drive. Just the binary.


The Stack

For the curious ones :).

showit is built with Bun, React 19, and Tailwind CSS v4. The Markdown rendering uses marked, and syntax highlighting is handled by shiki with dual light/dark themes baked in. The whole client bundle gets embedded into the binary at build time, so there's nothing to install on the machine you run it on.


Get It

You can grab the binary or the source over on GitHub:

→ github.com/theshawa/showit

Releases are on the releases page: github.com/theshawa/showit/releases

If you find a bug or have an idea, feel free to open an issue. I'll get to it :).


A Note

I built this for myself, but I hope it's useful for you too. It's minimal by design — I don't want it to become another bloated presentation tool. If you need animations, slide templates, and laser pointer effects, this is probably not for you.

But if you just want to write Markdown and talk — showit has you covered.