DeepSeek Harness Remote
DeepSeek Harness Remote: DeepSeek Harness 실행 PC와 모바일·PC를 안전하게 연결해 어디서나 작업 이어받기
Cairn은 일상 업무·습관·장기 목표·일기 리뷰를 위한 차분한 생산성 앱이며 상황을 파악하는 AI 비서를 제공합니다
Cairn is a calm productivity app for daily tasks, habit streaks, long-horizon goals, and journal reviews — with an AI assistant that knows your context.
생산성GitHub @alikamatu온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
저장소 정보는 아직 수집하지 않았습니다.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
A calm place to plan, reflect, and progress. Cairn is a personal productivity app with daily tasks, habit streaks, long-horizon goals, journal-style notes, and an AI assistant that knows your context.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗A calm place to plan, reflect, and progress.
Cairn is a personal productivity app with daily tasks, habit streaks, long-horizon goals, journal-style notes, and an AI assistant that knows your context. Built on Next.js 16, React 19, and Tailwind v4.
Production: https://assistant.alikamatu.com
git clone https://github.com/alikamatu/cairn.git
cd cairn
cp .env.example .env.local # fill in keys — see docs/SETUP.md
npm install
npm run dev # http://localhost:3000
You'll need accounts for Resend (email), Paystack (billing, GHS), Cloudinary (uploads), and Google Gemini (AI API). Web-push VAPID keys are generated locally with one command. See docs/SETUP.md.
| Document | What's inside |
|---|---|
| docs/ARCHITECTURE.md | App shape, data model, state, auth, billing, AI, push, PWA, file map |
| docs/DESIGN.md | Design system, themes, tokens, components, motion, accessibility |
| docs/SETUP.md | Local development, env vars, VAPID generation, troubleshooting |
| docs/DEPLOY.md | Vercel deploy, custom domain, Paystack webhooks, cron, headers |
| docs/API.md | Every API endpoint with request/response shapes |
| docs/SECURITY.md | Auth model, secrets, signed tokens, threat model |
g t, g j, …), cheatsheet (?), quick-add (N)/today, web push remindersFramework Next.js 16 (App Router, Server Components, Server Actions)
UI React 19 · Tailwind v4 · Motion (Framer Motion successor) · Lucide
State Zustand with persist (localStorage)
Auth SSO — Google, GitHub, Apple
Email Resend (transactional)
Payments Paystack (GHS) — Pro GH₵70/mo or GH₵640/yr
AI Google Gemini (streaming + non-streaming)
Uploads Cloudinary (signed direct upload)
Push Web Push Protocol with VAPID
PWA Custom service worker (no Workbox)
Validation Zod at every server boundary
Dates date-fns
IDs nanoid
app/
(marketing)/ Public site: landing, pricing, changelog, docs, privacy, terms
(auth)/ Sign-in, magic-link verify, OAuth callbacks, onboarding
(app)/ Authed app: today, inbox, tasks, projects, habits, goals,
calendar, reviews, notes, stats, assistant, search, settings, trash
(legal)/ /unsubscribe (HMAC-signed)
admin/ Internal — gated by ADMIN_EMAILS env var
api/ Route handlers (billing, push, AI, uploads, cron, avatars)
components/ UI primitives + feature components
lib/ auth, billing, ai, push, cloudinary, exports, store, mail, quotes
hooks/ use-hotkeys, etc.
types/ Entity types
public/ Static assets, sw.js, manifest, icons
docs/ Architecture, design, setup, deploy, API, security
Full file-by-file map: docs/ARCHITECTURE.md → File map.
npm run dev Start dev server on :3000 (Turbopack)
npm run build Production build
npm run start Run production build
npm run lint ESLint
npm test Unit tests (Vitest)
This is a personal project right now. If you fork it for your own use, keep the brand replaceable — every user-facing string is plain text and easy to swap.
All rights reserved. Personal-use mirror only.