Flat illustration of a grid of tool icons connecting to a central agent node, one group bundled to suggest batching
Engineering

What We Learned Building an MCP Server for a CMS

We built a 30-tool MCP server for our CMS. Here's what we learned about tool count, batching, and token cost along the way.

Samer Alsayegh··4 min read
Flat illustration contrasting a drag-and-drop canvas with a tagged code component
Engineering

Why We Didn't Build a Visual Page Builder

Draftbase skipped the visual page builder. Here's why templates plus MDX components won out, and the one case where a page builder still wins.

Samer Alsayegh··4 min read
Flat vector illustration of a React app split into a routing path with signpost icons and a form path with input fields and a checkmark, connected to a central React atom shape
Engineering

React Routing and Form Libraries Compared

React routing and form libraries, compared. React Router, React Hook Form, Zod vs Yup, and react-paginate: real picks for real apps.

Samer Alsayegh··7 min read
Flat illustration contrasting a tangled JSON tree with a clean compiled code-to-component flow
Engineering

Why We Built Draftbase Around MDX

Draftbase stores content as plain MDX, not a JSON tree. Here's why we made that call, and the real cost it carries.

Samer Alsayegh··3 min read
Flat vector illustration comparing five web frameworks as distinct geometric icons connected by dotted lines to a central browser window
Engineering

React Framework Comparisons: Svelte, Preact, Blazor, Flutter, and Htmx

React vs Svelte, Preact, Blazor, Flutter, and Htmx, compared. Real bundle sizes and tradeoffs, plus which one fits your next build.

Samer Alsayegh··7 min read
Flat vector illustration of a blue diamond shape with a shield checkmark badge representing typed code, connected by a compile arrow to a yellow circle representing plain JavaScript
Engineering

What Is TypeScript? TypeScript vs JavaScript Explained

TypeScript adds type checks to JavaScript before your code ships. TypeScript vs JavaScript: see the real gains, key types, and when to skip it.

Samer Alsayegh··8 min read
Flat vector illustration of an open cardboard box with a gear module emerging and an arrow pointing to a JavaScript file icon, representing a code module being imported
Engineering

What Does `require` Do in JavaScript?

What does require do in JavaScript? See how it resolves, loads, and caches a module, and when to use import instead in 2026.

Samer Alsayegh··5 min read
Flat vector illustration of a Node.js hexagon icon connected by a pipe to a green MongoDB leaf icon with data documents flowing between them
Engineering

Node.js and MongoDB: Connecting and Querying

Node.js and MongoDB, connected the right way. See real pool settings, query patterns, and the bugs that break both in production.

Samer Alsayegh··5 min read
Flat vector illustration of two React atom-logo shapes, one inside a browser window frame and one inside a mobile phone frame, connected by a shared core symbol
Engineering

React vs React Native: Picking the Right Tool

React vs React Native, explained simply. See the real gaps in styling, and how to pick the right one for your next build.

Samer Alsayegh··5 min read
Flat illustration of an app icon connected through a key icon to a content database icon, representing wiring a headless CMS API key into an app
Engineering

How to Add a Headless CMS to a Lovable, Bolt, or v0 App

Add a headless CMS to a Lovable, Bolt.new, or v0 app in an afternoon. No rewrite. Just a content type, a read-only key, and one fetch call.

Samer Alsayegh··7 min read
Flat vector illustration of self-hosted GitLab: a server rack inside a walled perimeter with a git branching commit graph and a padlock icon signaling private control
Engineering

Self-Hosted GitLab: When It Makes Sense

Self-hosted GitLab: when it makes sense and when it does not. Real hardware requirements, why the license bill stays, and the one question that decides it.

Samer Alsayegh··6 min read
Flat vector illustration comparing GitHub and GitLab: two abstract platform icons connected by branching git-commit graph lines, representing a dev-team platform comparison
Engineering

GitHub vs GitLab: Key Differences for Dev Teams

GitHub vs GitLab compared on CI/CD, AI assistants, pricing, and self-hosting. See which platform fits your team, and what neither one solves.

Samer Alsayegh··7 min read
Flat vector illustration of three stacked layers: a laptop labeled GIT with a commit graph at the bottom, a cloud server box above it, and code review, pipeline, and issue icons on top
Engineering

Git vs GitHub vs GitLab: Understanding the Stack

Git vs GitHub vs GitLab explained: Git is the tool on your machine, the other two are hosts. See which layer owns what, and what actually locks you in.

Samer Alsayegh··7 min read
Flat vector illustration of two server-box icons compared side by side with a lightning bolt and a puzzle-piece icon, representing two Python API frameworks
Engineering

FastAPI vs Flask: Choosing a Python API Framework

FastAPI vs Flask: which Python framework should you pick? FastAPI wins on speed and built-in checks. Flask wins on simple setup and template rendering.

Samer Alsayegh··8 min read
Flat vector illustration of a React component tree connected to a document and MDX file icon, representing content flowing into a React app
Engineering

How to Use a Headless CMS with React

Using a headless CMS for React? Fetch it in a Server Component, cache with ISR, and revalidate on publish instead of on a fixed timer.

Samer Alsayegh··8 min read
Flat vector illustration of a podium ranking three generic CMS platform icons, with a magnifying glass comparing them
Engineering

Top Headless CMS 2026: Best Picks Compared

Best headless CMS for 2026? See how seven top picks stack up on price, editing, and the risk of getting stuck with one vendor.

Samer Alsayegh··17 min read

Draftbase is a headless CMS built for React devs.