Lattice
연구를 위한 작업공간
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
AI-powered daily planner PWA: chat to plan your day, two-way Google Calendar sync, goals and weekly scorecards. Next.js 16, TypeScript, Supabase (Postgres + RLS), OpenAI. Try the live demo, no sign-up.
README 전체를 불러오는 중입니다.
README 전문 보기 ↗A mobile-first productivity app (installable iPhone PWA) that turns long-term goals into a daily plan: an AI planning chat builds today's to-do list and schedule, syncs it two-way with Google Calendar, pulls deadlines from Canvas, and scores every week.
Live demo → 1billion.vercel.app/login: tap Try the demo for your own private sandbox, pre-filled with sample data. No sign-up needed.
Best viewed on a phone (or DevTools at iPhone size).
I wanted one place that connects the big goal to what I do at 9am today. Off-the-shelf tools split goals, calendar, to-dos and school deadlines across four apps. I built this for myself and use it every day on my phone.
| Today | AI planner | Schedule | Goals | Skills |
|---|---|---|---|---|
| Layer | Tech |
|---|---|
| Frontend | Next.js 16 (App Router, Server Components, Server Actions), React 19, TypeScript, Tailwind CSS v4 |
| Backend / DB | Supabase: Postgres, Auth, Row-Level Security; 13 versioned SQL migrations |
| Integrations | Google Calendar API (OAuth 2.0), Canvas LMS REST API, OpenAI (structured outputs validated with Zod), Web Push (VAPID) |
| Infra | Vercel (hosting + Cron), PWA (manifest + service worker) |
| Testing | Node test runner; Postgres logic tested in-process with PGlite |
flowchart LR
iPhone[iPhone PWA / browser] -->|Server Actions| Next[Next.js on Vercel]
Next -->|RLS-scoped queries| DB[(Supabase Postgres)]
Next <-->|OAuth + sync| GCal[Google Calendar]
Next -->|read-only| Canvas[Canvas LMS]
Next -->|structured JSON| AI[OpenAI]
Cron[Vercel Cron] --> Next -->|Web Push| iPhone
42P10 error (an ON CONFLICT target with no matching unique index) and fixed it in a dedicated migration.auth.uid(). Only the cron job uses the service-role key, and it runs on the server only.lib/canvas-secret.ts).lib/planner.ts) fits sessions around existing commitments.lib/dates.ts) using date-fns-tz.Requires Node 20+ and a Supabase project.
npm install
cp .env.example .env.local # fill in at least the Supabase URL + anon key
npx supabase db push # apply supabase/migrations
npm run dev # http://localhost:3000
Google, OpenAI, Canvas and push features each switch on when their env vars are set (see .env.example).
npm test # unit tests (lib/*.test.ts)
npm run typecheck
npm run lint
npm run build
Open the site in Safari, tap Share, then Add to Home Screen. Launch it from the icon; iOS only allows push notifications for installed web apps.
Built by Brayden Pickard