Skip to main content
Back to blog

Web Dev

20 posts

·11 min readWeb Dev

Why I built Omnibase: a universal database MCP server

I got tired of copy-pasting query results between DataGrip and AI agents. So I built an MCP server that gives AI agents secure, direct access to any database.

·7 min readWeb Dev

Delta libraries: how diffing works and which library to use

What delta libraries do, how diff algorithms work under the hood, and a practical comparison of the most popular options in the JavaScript ecosystem.

·6 min readWeb Dev

Offline-first apps: harder than it sounds

Building apps that work without internet is one of those things that seems straightforward until you actually try it. Here is what makes it hard and how to approach it.

·3 min readWeb Dev

Deploying apps with Railway

How Railway makes deploying web applications simple without giving up control, and why I use it for side projects.

·6 min readWeb Dev

Why I moved from Vercel to Cloudflare Pages

Vercel is great, but Cloudflare Pages with OpenNext gives me more control, better pricing, and no vendor lock-in for my Next.js apps.

·3 min readWeb Dev

Tailwind CSS in practice: why I still reach for it

An honest take on using Tailwind CSS in real projects, what works well, and where it falls short.

·5 min readWeb Dev

Why I prefer Tauri over Electron for desktop apps

What makes Tauri a better choice than Electron for building desktop applications, and why the resource savings alone are worth the switch.

·5 min readWeb Dev

What nobody tells you about side projects

Most side projects die. Here is what I have learned about why, and the few things that actually help.

·4 min readWeb Dev

Understanding WebSockets for real-time features

How WebSockets work, when to use them over regular HTTP, and a practical example of adding real-time updates to a web app.

·8 min readWeb Dev

Making maps work offline with PMTiles

How the PMTiles format enables offline-capable maps by serving vector tiles from a single static file, and how I use it in Landbound.

·3 min readWeb Dev

Migrating a JavaScript project to TypeScript

A practical approach to migrating an existing JavaScript codebase to TypeScript incrementally, without rewriting everything at once.

·3 min readWeb Dev

Why I care about web performance

What web performance actually means for users, the metrics that matter, and the quick wins that make the biggest difference.

·6 min readWeb Dev

Mapping libraries compared: Mapbox, Leaflet, and MapLibre

After building Landbound's map-heavy interface, here is how Mapbox, Leaflet, and MapLibre compare in practice for web applications.

·3 min readWeb Dev

REST vs GraphQL in practice

When GraphQL is worth the complexity and when REST is the better choice, based on using both in real projects.

·9 min readDatabasesWeb Dev

Choosing a database for a small SaaS

SQLite, PostgreSQL, or a managed database? Here is how I think about the decision for small, indie SaaS projects.

·5 min readWeb Dev

Working with GPX files: parsing, rendering, and the messy reality

What I learned building Routemade: GPX is a simple format in theory, but real-world files from different devices are anything but consistent.

·5 min readWeb Dev

Environment variables: what they are and how to stop getting them wrong

Environment variables are one of those things that seem simple until you spend an hour debugging why your app cannot connect to the database. Here is what I wish I knew earlier.

·4 min readWeb Dev

Why TypeScript is worth the setup cost

The practical benefits of TypeScript over plain JavaScript, and why the initial learning curve pays for itself quickly.

·5 min readWeb Dev

Understanding CORS (and why your API calls fail)

What CORS actually is, why browsers enforce it, and how to fix the errors without just slapping a wildcard on everything.

·3 min readWeb Dev

Understanding environment variables

What environment variables are, why they matter for development, and how to use them properly without leaking secrets.