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.
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.
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.