Writing
Showing 27 posts
Building a Teacher's Grading Toolkit with Vite+
Introduction
Teachers spend hours every week calculating grades, curving scores, and converting percentages to letter grades. Most of this work happens in spreadsheets with fragile formulas that break the moment a student is added out of order.
What if we packaged those utilities as a reusable TypeScript library — something any teacher or school app developer could npm install and use?
In this post, we'll build teacher-toolkit — an npm package for grade calculations — using Vite+ and its vp pack command. No Webpack config. No tsconfig gymnastics. Just code, test, and ship.
Vite+: The Unified Toolchain That Replaces Your Entire Frontend Setup
Introduction
If you've been juggling Node version managers, package managers, linters, formatters, test runners, and build tools — you're not alone. The JavaScript tooling landscape has gotten out of hand.
Vite+ aims to fix that. Created by VoidZero — the team behind Vite, Vitest, Oxc, and Rolldown — it unifies your entire development workflow into a single CLI tool called vp.
Bun + Nitro: The Fast Server Stack for 2026
Introduction
The JavaScript ecosystem is evolving fast, and Bun is leading the charge. Since its 1.0 release, Bun has proven itself as a legitimate alternative to Node.js—offering significantly faster startup times, native TypeScript support, and an all-in-one toolkit that includes a package manager, bundler, and test runner.
When paired with Nitro, you get a server stack that's both incredibly fast and deployment-agnostic.
In this post, we'll explore:
- Why Bun matters in 2026
- Setting up Bun with Nitro
- Performance benefits and benchmarks
- Migration strategies from Node.js
- Real-world deployment
Let's build the fastest server stack you've ever used.
Building a Production API with Drizzle ORM + Nitro: A Complete Guide
Introduction
In our BrewStop food truck series, we used Unstorage for data persistence—an excellent choice for prototypes and simple applications. But when you're building for production, you need something more robust: a proper database with type-safe queries, migrations, and scalable architecture.
That's where Drizzle ORM comes in.
Drizzle is a lightweight, TypeScript-first ORM that gives you the control of raw SQL with the ergonomics of an ORM. It pairs beautifully with Nitro, offering a production-ready data layer that won't slow you down.
In this post, we'll build a complete database-backed API using Drizzle ORM + Nitro—covering setup, schema design, queries, and deployment.
Complete Guide to Authentication in Nuxt 4: From Basics to Production
Introduction
Every production application needs authentication. Yet it's one of the most commonly botched parts of web development—poorly implemented auth leads to security vulnerabilities, frustrated users, and late-night debugging sessions.
In this comprehensive guide, we'll cover everything you need to know about authentication in Nuxt 4:
- Authentication strategies and when to use each
- Implementing session-based auth
- JWT authentication flow
- OAuth with GitHub and Google
- Protecting API routes
- Secure password handling
- Type-safe auth with TypeScript
Let's build a complete auth system for our BrewStop application.
Mastering Data Fetching with TanStack Query: A Modern Approach
Introduction
Data fetching is one of the most common challenges developers face when building modern web applications. While it might seem straightforward at first, managing server state quickly becomes complex when you need to handle caching, background updates, pagination, and error states. This is where TanStack Query (formerly React Query) comes in—a powerful library that transforms how we think about server state management.
Stay Updated
Get the latest posts delivered straight to your inbox.