Turn your self-improvement into a measurable, gamified adventure.
Ascent is a web application that helps you visualize your personal growth. It transforms habits, learning, and personal goals into a game, allowing you to track your progress, build consistent streaks, and earn XP for your efforts.
Ascent is built around a core loop of setting, tracking, and completing goals.
-
✨ Gamified XP System: Every goal you create can be assigned an XP (Experience Point) value. Completing the goal banks that XP, contributing to your overall level. Watch your "level" rise as you stick to your commitments.
-
🏆 Goal & Habit Tracking: Create detailed goals with deadlines, categories (e.g., "Fitness," "Learning," "Productivity"), and descriptions. You can also set up recurring daily or weekly habits.
-
🔥 Streak tracking: Consistency is key. Ascent helps you track your daily activity: view your current streak, a monthly calendar of active days, longest streak and active-day stats per month, with rewards unlocked for consistency.
-
🛒 Gold & shop: Earn gold by leveling up and (in the future) completing challenges. Gold is displayed in the player bar and links to the shop (currently under construction) for future rewards.
-
🔒 Secure & private: Built with
NextAuth.jsand a serverless backend, your data is your own. Sign in quickly with social providers (e.g. Google or GitHub) and trust that your goals and progress are stored securely.
This project is built with a modern, full-stack, serverless architecture.
| Category | Technology | Purpose |
|---|---|---|
| Frontend | Next.js 14 (App Router) | SSR, SSG, API Routes |
| React / TypeScript | UI & Type Safety | |
| TailwindCSS | Utility-First Styling | |
| UI/UX | ShadCN UI | Accessible, Reusable Components |
| Framer Motion | Animations & Transitions | |
| Backend | Next.js API Routes | Serverless Backend Logic |
| Authentication | NextAuth.js | Authentication & Session Management |
| Database | PostgreSQL | Relational Database |
| ORM | Prisma | Type-safe Database Access |
| State | Zustand | Minimalist State Management |
| Validation | Zod | Schema Validation |
| Infra & Hosting | Vercel | Frontend Hosting & CI/CD |
This project uses a modern full-stack architecture:
- Frontend (Vercel): The Next.js application is hosted on Vercel.
- Authentication (Vercel):
NextAuth.jsruns on Vercel, managing user sessions. - Backend (Vercel): Secure Next.js API Routes act as the backend. They check the user's session, validate input with
Zod, and use Prisma to communicate with PostgreSQL. - Database:
PostgreSQLacts as the persistent data layer, accessed via Prisma ORM.