How to Create a Nuxt Module: A Beginner-Friendly Guide

15th March 2026

A step-by-step guide to building a real, publishable Nuxt module from scratch, covering module architecture, client-side plugins, auto-imported composables, TypeScript support, and automation with agentic workflows.

The Protocol Behind Bluesky: Rethinking Social Media Architecture

15th February 2026

Explore the AT Protocol powering Bluesky - a decentralised social networking protocol that gives users real ownership over their data and identity. Learn how it works, how it differs from blockchain and Mastodon, and build a simple OAuth app against it.

Automating My Blog Workflow with GitHub Copilot SDK

8th February 2026

I built a TypeScript script using the GitHub Copilot SDK to automate my blog's publishing workflow. Here's how it converts Markdown drafts into fully structured blog posts with proper frontmatter, SEO metadata, image handling, and more.

Understanding Modern RPC Frameworks: How They Work and When to Use Them

18th January 2026

Explore modern RPC frameworks and learn how they differ from REST. This comprehensive guide covers plain RPC, JSON-RPC, gRPC, tRPC, and oRPC with practical examples. Discover when to use RPC over REST, understand end-to-end type safety, and see how modern tools like tRPC and oRPC simplify full-stack TypeScript development while gRPC excels in microservices architecture.

Building Content-Adaptive Interfaces with Google's A2UI

29th December 2025

Learn how to build adaptive interfaces where the AI decides not just what to show, but how to style it. Discover Google's A2UI protocol, an open-source standard that enables AI agents to dynamically generate and style UI components based on content analysis. This guide walks you through building a content-driven blog application using Gemini 2.5 Flash and Lit Web Components.

Turning Markdown into Podcasts with OpenAI Agents

13th November 2025

Transform your Markdown blog posts into engaging, conversational podcasts using OpenAI’s Agents SDK. Discover how to automate every step - from scriptwriting and editing to voice generation - to produce natural-sounding MP3 episodes in minutes. Build your own AI-powered production pipeline and give your blog a real voice, no studio or audio expertise required.

Understanding JavaScript Reactivity with Proxy and TypeScript

4th January 2025

Learn how to create a reactive system in JavaScript using Proxy, step-by-step, from monitoring changes to implementing a Vue.js-inspired ref function. This guide covers everything from simple examples to advanced TypeScript integration, culminating in a practical demo of two-way HTML bindings. Perfect for developers exploring reactivity concepts and building modern web apps.

Is it possible to use "<nuxt-link>" in content rendered with "v-html"?

24th March 2024

If you've used Vue or Nuxt, you're likely familiar with the "v-html" directive. This is used to dynamically insert HTML content into an element. It takes a string value containing HTML tags and text, replacing the inner HTML of the target element with this content. One limitation of "v-html" is that it does not allow you to render "<nuxt-link>". Instead, all "<a>" HTML tags do not use the native Vue router. However, we can address this limitation by writing our own directive. This will allow all "<a>" tags to be converted into "<nuxt-link>". Thanks to Nuxt and its plugin system, we can easily expand the functionality of Nuxt. Let's get started.

Create a Web Server using Nitro, SQLite and TypeORM

25th February 2024

If you're familiar with Nuxt.js, you might know that the latest version, Nuxt version 3, runs on a new server engine called Nitro. Nitro isn't just used in Nuxt, it's also an independent open-source framework for developing web server applications. It provides several built-in features that make it a modern, user-friendly backend framework. Nitro is open-source and maintained by the same core team as Nuxt.js. In this blog post, we'll show you how to build a simple web server using Nitro and connect it to an SQLite database. We'll also explain the process of database migration with TypeORM, a popular typescript library, introduce the widely-used pattern for validating request data, the Data Transfer Object (DTO), and utilise some of Nitro's built-in features to cache results.

How to Define Multiple Components in a Single File in Nuxt using JSX

23rd January 2024

In this blog article, we have demonstrated how to define multiple components in a single .vue file in Nuxt using JSX. By using JSX, we can combine regular Vue components and JSX components in the same file, thus utilising the same reactivity system provided by Vue. While it is generally recommended to separate components into individual files, there are situations where declaring small components in the same file can be beneficial. We hope you found this blog article useful. Please subscribe for more articles like this in the future.