In this article, I’ll show you the easiest way to spin up a Next.js application with a fully functional database.

If you’ve read my previous posts, you already know I’m a big fan of Vercel - especially Next.js. It’s my go-to framework whenever I want to experiment with new ideas.

For the ORM, I’ll be using Drizzle. I might be a little biased (the team is from Ukraine 🇺🇦), but it’s genuinely a fantastic product with a bright future.

Now that we’ve got our framework and ORM covered, the only missing piece is the database.

The simplest option is an SQLite-compatible solution, which is exactly what we’ll use today. It’s lightweight, zero config, and doesn’t require Docker, AWS, or any external provider - just your file system. That’s it.

We’ll be using libSQL - an open-source, open-contribution fork of SQLite, created and maintained by Turso.

By the end of this article, you’ll have a small Next.js app connected to a libSQL database through Drizzle ORM.


1️⃣ Create a Next.js application

npx create-next-app@latest

You’ll be prompted to choose a project name and configuration options (TypeScript, Tailwind, etc.).

After that, create-next-app will scaffold the project and install all dependencies.


2️⃣ Test your initial application

Start the development server:

npm run dev

In your terminal, you’ll see the port your app is running on - in my case, it was 3001.

Open your browser at http://localhost:3001/, and you should see the default Next.js page.