---------------

Freedom Stack

A full-stack Astro starter kit that feels freeing and is free.

npx create-freedom-stack my-app

Featured On

Create full-stack web apps

Save time, money, and headaches by using Freedom Stack.

Create full-stack web apps

No need to reinvent the wheel

Auth? Database? Components? This starter kit has you covered.

No need to reinvent the wheel

Focus on the fun stuff

Enjoy building apps, not configuring servers. Incredibly easy to deploy.

Focus on the fun stuff
"enjoyed learning about Freedom Stack, Cam. Really a refreshing take on SaaS boilerplates ✨ plus I love Astro, too!"
Carl Poppa @poppacalypse

Technologies Inside

Astro

The simplest web metaframework

Alpine.js

Used for client-side interactivity

HTMX

Used for sending HTML partials over the wire

daisyUI

Easy as Bootstrap; built upon Tailwind

Better Auth

Comprehensive auth framework for TypeScript.

Astro DB

An approachable database solution

Why Freedom Stack?

Hey, I'm Cam, a front-end designer and developer of over 7 years.

While I loved working on the UI, animations, and interactivity of web apps, I'd always felt held back by not knowing how to create full-stack web apps.

I knew how to work with API's and someone else's database, but I'd never learned how to build my own until...

A wild Astro DB enters the chat!

Creating a database table was as easy as:

import { defineTable } from "astro:db";

const Posts = defineTable({
  columns: {
    id: column.number({ primaryKey: true }),
    title: column.text(),
    pubDate: column.date(),
    description: column.text(),
    author: column.text(),
    imageUrl: column.text({ optional: true }),
    imageAlt: column.text({ optional: true }),
    tags: column.json({ optional: true }),
    slug: column.text({ unique: true }),
    content: column.text()
  }
});

And, getting all the posts from the database was as easy as:

import { db, Posts } from "astro:db";

const posts = await db.select().from(Posts).all();

I found myself building full-stack web apps without really having to think too much about databases. They just worked.

Writing code felt freeing and fun again.

I got this spark and reinvoration to code again after the hardest season of my life, when I was bed-ridden for around seven months. God sustained me through the support of friends and family. He healed me spiritually before physically restoring my health.

After recovering, I finally felt freedom.

My hope is that Freedom Stack empowers you to create the dreams and visions on your mind and heart.

Cam Pak

FAQ

What is Freedom Stack?

Freedom Stack is a full-stack Astro starter kit that feels freeing and is free.

How can I learn more about Astro?

If you want to learn more about the frontend layer, I recommend the Astro Web Framework Crash Course by freeCodeCamp or check out Astro's Community Educational Content.

How can I learn more about Alpine.js?

If you want to learn more about Alpine.js, I recommend Learn Alpine.js on codecourse.

How can I learn more about the libSQL database layer?

If you want to learn more about the database layer, I recommend first starting with Astro DB's Getting Started Guide, and then learning from High Performance SQLite course, sponsored by Turso.

How can I learn more about Better Auth?

How do I deploy Freedom Stack?

You can deploy Freedom Stack to Netlify.

How can I learn more about HTMX?

How can I learn more about daisyUI?

What's an affordable way to track my website's traffic/analytics?

I recommend One Dollar Stats, by Drizzle, or try out PostHog.

How can I contribute to Freedom Stack?

If you'd like to contribute to Freedom Stack, please open an issue or submit a pull request. Or, if you can submit financially, please consider buying me a coffee.

Support Freedom Stack