Skip to content

Blog

Why AI Benchmark Scores Are Harder to Read Than They Look (Part 1 of 3)

Every major AI model release arrives with a scorecard. One model scores 87% on one test, 63% on another, and claims to outperform last month's leader on a third. The numbers look precise, but they rarely tell regular AI users what to do next.

This post explains what those scores actually measure, why the same model can receive dramatically different results, and why even a well-run benchmark may not predict performance on your work.

Markdown Flashcards - A Local-First Flashcard App

Flashcards often begin as notes, but moving them into a separate app creates another copy to maintain. A database hidden behind cloud sync can also make ordinary Git history and text-based review difficult.

I built Markdown Flashcards so the deck remains a Markdown file. The local application turns that file into a study session and writes review dates and ratings back as readable metadata. This post explains the file format, review flow, and trade-offs of keeping content and study state together.

Markdown Presentation & Slideshow Extension for VS Code

Technical presentations often duplicate material that already exists in Markdown documentation. Once copied into a slide editor, code samples and diagrams can drift away from the source.

I built the Markdown Presentation Tool to present the Markdown file directly in VS Code. The extension turns headings, lists, code blocks, and Mermaid diagrams into slides and updates the presentation when the source changes.

Safe PDF Viewer for VS Code: A Local, Read-Only PDF Extension

A PDF viewer parses a complex, potentially untrusted file. Its safety depends on the parser version, the browser or webview boundary, the resources it can load, and the capabilities the extension enables.

I developed Safe PDF Viewer to make those choices explicit inside VS Code. It bundles PDF.js locally, restricts its webview with a Content Security Policy, disables dynamic JavaScript evaluation in PDF.js, and exposes the file through a read-only editor. This post explains what each control reduces and what it does not guarantee.

SPA, MPA, and Hybrid Navigation Architectures

When designing web applications, terms like SPA, MPA, and Hybrid often get mixed together. In practice, building a web app involves four distinct choices: how the browser navigates between pages, where the HTML comes from, how URLs are routed, and how new data reaches the screen.

I put this guide together to explain how these parts work together, what happens in the browser during page transitions, and how to choose the right setup for your project.

Mermaid Slideshow: Present Markdown Diagrams Distraction-Free

Mermaid turns text into diagrams that can live beside code in a Markdown file. That makes diagrams easy to review and version, but an inline diagram can be too small to present in a meeting.

I built Mermaid Slideshow, a VS Code extension that finds Mermaid blocks and presents each one as a full-screen slide. This post explains how the extension works, how to navigate a deck, and which theme setting controls the rendered diagrams.

A Practical Docker Workflow for Vite Across Multiple Machines

I write code across both macOS and Linux machines. In the past, switching computers frequently caused package errors, broken native bindings, and mismatched Node.js versions.

To fix this, I set up a workflow that keeps the Node.js runtime and dependencies inside Docker, while keeping source code and Git on the host machine. You edit code in your local IDE, and Docker runs Vite and manages node_modules inside an isolated Linux volume. When you clone the repository onto another computer, running Compose gives you the exact same working environment immediately.

Built My First VS Code Extension: Lightweight Markdown Preview

A Markdown preview has a narrow job: turn the active text file into readable HTML. I wanted that job to stay local and avoid analytics or remote rendering services.

I built Lightweight Markdown Preview as a small VS Code extension that renders Markdown in a webview. It includes Mermaid diagrams and MathJax equations. This post explains the data flow and the deliberate limits behind the small package.

TimeTrackly - Private, Local-First Time Tracker

Time logs can contain client names, project details, and working patterns. A cloud-based tracker stores some of that information on someone else's infrastructure and may require an account or network connection.

I built TimeTrackly as a local-first alternative for developers, freelancers, and makers. It stores time entries as JSON files on the user's machine and works without a cloud service. This post explains that storage model, its privacy benefits, and the backup responsibility that comes with it.