A visual calendar app for tracking daily activities with color-coded event types.
Live Demo: chromacal.vibe2viable.com
flowchart LR
Browser[React App] --> Vercel[Next.js]
Vercel --> DB[(Neon PostgreSQL)]
Vercel <--> Auth[BetterAuth]
Payments[Lemon Squeezy] -->|Webhooks| Vercel
See ARCHITECTURE.md for detailed diagrams and technical documentation.
- Color-coded tracking - Create custom event types with colors to visually track habits and activities
- Group organization - Organize event types into collapsible groups
- Month & Year views - Switch between detailed month view and year-at-a-glance overview
- Google OAuth - Sign in with Google account
- Subscriptions - 30-day free trial, then monthly or annual plans via Lemon Squeezy
| Layer | Technologies |
|---|---|
| Frontend | Next.js 15, React 19, Tailwind CSS |
| Backend | Next.js Server Actions |
| Database | Neon PostgreSQL, Row Level Security |
| Auth | BetterAuth, Google OAuth |
| Payments | Lemon Squeezy |
| Hosting | Vercel |
Chroma__Cal/
├── app/ # Next.js App Router
├── components/ # React components
├── lib/auth/ # Auth configuration
├── services/ # Data layer
└── utils/db/ # Database utilities
- Node.js 18+
- Neon database configured
- Google OAuth credentials
npm install
cp .env.example .env.local # Configure environment variables
npm run dev # Starts on http://localhost:3003| Command | Description |
|---|---|
npm run dev |
Start dev server |
npm run build |
Production build |
npm run lint |
Run ESLint |
npm test |
Run tests |
The application deploys automatically to Vercel via GitHub integration.
Post-Deployment Setup:
- Configure Lemon Squeezy webhook URL:
https://your-domain.com/api/webhook - Add Vercel domain to Google OAuth authorized origins
- Update environment variables in Vercel dashboard
MIT License - see LICENSE for details.