Live app: anchorapp.cc
Source: github.com/TargiX/Next.js-Tether
A quiet daily ritual app — morning and evening check-ins, mood tracking, sleep, journaling, intention. One unified flow across web, mobile, and desktop.
Web: deployed on Vercel · Mobile: iOS/Android via Capacitor · Desktop: macOS/Windows via Electron
- Next.js 16 (App Router, Turbopack) + React 19 + TypeScript
- Tailwind CSS v4 + Radix UI primitives + shadcn/ui components
- Framer Motion for transitions
- Capacitor 8 — iOS & Android native shells
- @capacitor-community/electron — macOS / Windows / Linux desktop shell
- Supabase Auth + account-backed journal sync, with localStorage as a device cache
/— marketing landing/app— main dashboard (greeting, streak, today's rituals)/morning— morning ritual flow (mood, sleep, intention, meditation, affirmation)/evening— evening ritual flow (mood, journal, habits, tomorrow's sleep window)/timeline— trends over time/settings— preferences
npm install
npm run dev # http://localhost:3088 (PORT is pinned in package.json)npm run build # standard Next.js buildnpm run build:native # next build with BUILD_TARGET=native -> ./out
npm run cap:sync # build + sync into Capacitor platformsnpm run desktop:dev # build, sync, and launch the desktop app
npm run desktop:pack # produce an unpacked desktop binary
npm run desktop:make # produce a distributable installerUse docs/showcase.md for the LinkedIn/portfolio capture
plan: required screenshots, motion clips, carousel outline, and the quality bar
for proving web + mobile + desktop from one codebase.
The mobile platforms are added on-demand because they require Xcode / Android Studio.
npm run mobile:add:ios # one-time: scaffold the ios/ folder
npm run mobile:open:ios # open in Xcode
npm run mobile:add:android # one-time: scaffold the android/ folder
npm run mobile:open:android # open in Android StudioAfter native code changes, re-sync: npm run cap:sync.
app/ # Next.js App Router routes
page.tsx # landing
app/page.tsx # dashboard
morning/, evening/, settings/, timeline/
components/
ui/ # shadcn primitives
morning/, evening/ # ritual step components
anchor-motif.tsx # brand SVG
lib/store/ # typed app state, actions, local cache, cloud sync
lib/supabase/ # browser Supabase client
supabase/migrations/ # database schema and RLS policies
electron/ # generated by `cap add electron` — desktop shell
ios/, android/ # generated by `cap add ios|android` — mobile shells
capacitor.config.ts # shared Capacitor config
next.config.mjs # conditional static export when BUILD_TARGET=native