Javis OS
Javis OS는 기업가를 돕는 에이전시 AI로, 업무를 지원하고 함께 성장합니다
펀드레이징 중인 창업자를 위한 투자자 CRM. 피치 후 기억을 입력하면 Savvo가 만난 사람, 관심이 식은 사람, 추후 연락 대기자를 추적한다
The investor CRM for founders running a fundraise. Type what you remember after every pitch and Savvo tracks who you met, who is going cold, and who is waiting on a follow-up.
비즈니스TypeScript · PLpgSQLGitHub @nb110240온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
AI-powered relationship manager. Keep every connection alive.
Savvo is for founders, VCs, and professional networkers who meet many people a week. You paste rough notes after a meeting; Savvo pulls out a structured contact, scores each relationship's health, and tells you who is going cold and what to do next. The current wedge is founders raising a round: an investor CRM with follow-up tracking and AI meeting prep.
Live at savvo.app. An iOS wrapper (Capacitor) ships the same web app.README 전문 보기 ↗AI-powered relationship manager. Keep every connection alive.
Savvo is for founders, VCs, and professional networkers who meet many people a week. You paste rough notes after a meeting; Savvo pulls out a structured contact, scores each relationship's health, and tells you who is going cold and what to do next. The current wedge is founders raising a round: an investor CRM with follow-up tracking and AI meeting prep.
Live at savvo.app. An iOS wrapper (Capacitor) ships the same web app.
Capture
Stay on top of it
/reach-out (who needs attention), and /moves (ranked next actions)/inbox)Intelligence
Account and platform
Marketing site (static): homepage, /pricing, /vs/* comparison pages, /blog, /templates/investor-tracker, /from-spreadsheet, /changelog, rss.xml, sitemap.xml, llms.txt.
| Layer | Choice |
|---|---|
| Framework | Next.js 16 (App Router), React 19, TypeScript |
| Styling | Tailwind CSS v4 (class-based dark mode), Radix primitives, lucide icons |
| Data and auth | Supabase (Postgres + pgvector, RLS, Auth, MFA) |
| AI | OpenAI (extraction, embeddings, drafts, analysis); optional Google AI fallback for extraction |
| Resend (transactional, digest, inbound) | |
| Payments | Stripe (web), RevenueCat (iOS in-app purchase) |
| Rate limiting | Upstash Redis |
| Observability | Sentry, PostHog, Vercel Analytics + Speed Insights |
| Hosting | Vercel (crons in vercel.json) |
| Mobile | Capacitor iOS (loads savvo.app) |
| Tests | Vitest |
Requires Node 20.9+ and a Supabase project.
npm install
cp .env.local.example .env.local # fill in values, see SETUP.md
PORT=3001 npm run dev # http://localhost:3001
Use port 3001; 3000 is reserved for another project on the main dev machine. Full setup (database, OAuth, Stripe, Resend, crons, iOS) is in SETUP.md.
| Command | What it does |
|---|---|
npm run dev | Dev server (webpack) |
npm run build / npm start | Production build / serve |
npm test | Run the Vitest suite once |
npm run test:watch / npm run test:coverage | Watch mode / coverage |
npm run lint | ESLint |
npx tsc --noEmit | Type-check |
npm run verify:raise-autopilot-schema | Check the Raise Autopilot migration SQL |
npm run verify:raise-autopilot-live | Check the migration is applied to the live database |
npm run ios:sync / npm run ios:open | Sync / open the Capacitor iOS project |
src/
app/
(auth)/login/ sign in, sign up, password reset
(dashboard)/ authenticated app: dashboard, contacts, contact/[id], add, capture,
inbox, moves, reach-out, search, graph, intros, import, scan, settings
api/ route handlers (contacts, reviews, commitments, intro-requests,
import, search, calendar, granola, stripe, native, cron, webhooks, dev)
blog/ vs/ templates/ pricing/ changelog/ ... static marketing pages
components/ UI components
lib/ domain logic: health scores, dedup, extraction, search, next moves,
intro paths, email, Stripe/RevenueCat, rate limiting, env validation
__tests__/ unit tests; integration/ holds user-flow and API handler tests
supabase/migrations/ SQL migrations (see supabase/README.md)
supabase-schema.sql base schema
scripts/ re-embed, migration verifiers, e2e persona seed/cleanup
ios/ iOS deploy guide and App Store metadata
.claude/hooks/ post-deploy smoke test
Before merging (full list in CLAUDE.md):
npx tsc --noEmit and npx vitest run passsrc/__tests__/integration/.from("contacts") query filters .is("archived_at", null) unless it is meant to read archived rowsrevalidatePath for /dashboard, /reach-out, /contactsBefore deploying: npx next build, then vercel --prod from local main (Git auto-deploy is off), then bash .claude/hooks/post-deploy-smoke.sh.
| File | Contents |
|---|---|
| SETUP.md | Environment, services, and deployment setup |
| CLAUDE.md | Design context, quality gates, testing rules |
| TODOS.md | Shipped work, in-progress items, roadmap |
| supabase/README.md | Migration conventions |
| ios/DEPLOY-IOS.md | iOS build and App Store submission |
| DISTRIBUTION-PLAYBOOK.md, IDEAL-CUSTOMER-PROFILE.md, OUTREACH-SEQUENCES.md, GEO-AUDIT-REPORT.md | Go-to-market |
| REDDIT-POSTS.md, TWITTER-THREAD.md | Launch post drafts |