- User Auth with Supabase
- Create, Edit, and Delete habits with Supabase PostgreSQL
- Daily cron jobs that duplicate your habits each day and track your streaks
- Essential statistics in a personal dashboard to track your progress
- Chat GPT LLM Assistant via Edge Functions
- Built with 4.0 mini and AI Tooling to fetch user's data based on NLP queries
- Profile page with avatar photo customization
- /app: Entrypoint to the home page
- /hooks: Reusable logic to manage complex state operations
- /context: Centralizes and manages state for downstream client components
- /dashboard:
- /profile: User profile management
- /actions: Server actions for creating new habits
- /auth: Routes for user authentication
- /lib
- /supabase: Contains supabase client initializers and middleware
- /functions: Helper methods to use across the app
- /components: Custom UI components
- TypeScript
- React Chart JS 2
- Tailwind CSS
- Hero UI Library
- Motion Animation
- Supabase
- Vercel AI SDK Tooling
You can view a fully working demo at stacked-habits.vercel.app.
-
You'll first need a Supabase project which can be made via the Supabase dashboard
-
Create a Next.js app using the Supabase Starter template npx command
npx create-next-app --example with-supabase with-supabase-app
yarn create next-app --example with-supabase with-supabase-app
pnpm create next-app --example with-supabase with-supabase-app
-
Use
cdto change into the app's directorycd with-supabase-app -
Rename
.env.exampleto.env.localand update the following:NEXT_PUBLIC_SUPABASE_URL=[INSERT SUPABASE PROJECT URL] NEXT_PUBLIC_SUPABASE_ANON_KEY=[INSERT SUPABASE PROJECT API ANON KEY]Both
NEXT_PUBLIC_SUPABASE_URLandNEXT_PUBLIC_SUPABASE_ANON_KEYcan be found in your Supabase project's API settings -
You can now run the Next.js local development server:
npm run dev
The starter kit should now be running on localhost:3000.
-
This template comes with the default shadcn/ui style initialized. If you instead want other ui.shadcn styles, delete
components.jsonand re-install shadcn/ui
Check out the docs for Local Development to also run Supabase locally.

