Open Net Worth
Open Net Worth is an open-source personal AI wealth assistant you run yourself: one ledger for your whole financial life, worked by an AI agent you control.
翻訳待ち
No updates detected yet. GitHub releases will appear here.
Loading the full README. The saved excerpt is shown below.
장바구니에 잔뜩 담아두고 뭘 살지 못 정하는 사람이, 이번 달 예산 안에서 결정을 끝내도록 돕는 웹 서비스. 기존 위시리스트·가계부 앱이 "너무 많이 산다"를 막는다면, Flushlist는 "못 고른다"를 풀어 줍니다. 사도 되는 것도, 안 사기로 한 것도 모두 "정리 완료"로 셉니다. 해커톤(BYPP) 출품작이며 1인 개발입니다. • 배포: https://bypp-hackathon.netlify.app • 프로젝트 회고(왜 만들었는지, 결정과 문제 해결): docs/PROJECT_RETROSPECTIVE.md • 기획 원칙과 설계 문서: CLAUDE.md, PRODUCT.mdRead the full README ↗
장바구니에 잔뜩 담아두고 뭘 살지 못 정하는 사람이, 이번 달 예산 안에서 결정을 끝내도록 돕는 웹 서비스.
기존 위시리스트·가계부 앱이 "너무 많이 산다"를 막는다면, Flushlist는 "못 고른다"를 풀어 줍니다. 사도 되는 것도, 안 사기로 한 것도 모두 "정리 완료"로 셉니다. 해커톤(BYPP) 출품작이며 1인 개발입니다.
| 영역 | 사용 |
|---|---|
| 프레임워크 | Next.js 16 (App Router), React 19 |
| 스타일 | Tailwind CSS v4 |
| 드래그 앤 드롭 | @dnd-kit/core |
| DB / 인증 | Supabase (Postgres, Auth, RLS) |
| AI | Anthropic API (서버 라우트 전용, claude-sonnet-5) |
| 링크 파싱 | cheerio (OG 태그) |
| 배포 | Netlify |
npm install
cp .env.example .env.local # 없다면 아래 환경변수를 직접 만든다
npm run dev
http://localhost:3000 에서 확인합니다. 같은 와이파이의 폰에서 확인하려면 npx next dev -H 0.0.0.0 으로 실행하고 http://<컴퓨터 IP>:3000 으로 접속합니다. (next.config.ts의 allowedDevOrigins에 주소를 허용해 둬야 합니다.)
.env.local)| 이름 | 설명 |
|---|---|
NEXT_PUBLIC_SUPABASE_URL | Supabase 프로젝트 URL |
NEXT_PUBLIC_SUPABASE_ANON_KEY | Supabase anon 키 (클라이언트 노출 가능) |
ANTHROPIC_API_KEY | Anthropic API 키. 서버 라우트에서만 사용하며 절대 클라이언트에 노출하지 않는다 |
sessions, items, evaluations)을 CLAUDE.md 9-3의 스키마대로 만듭니다.supabase/migrations/ 의 SQL을 번호 순서대로 SQL Editor에서 실행합니다.| 파일 | 내용 |
|---|---|
0001_fix_rls_and_add_columns.sql | RLS 정책 재정비, 컬럼 추가 |
0002_add_auth_and_profiles.sql | 로그인용 profiles 테이블과 정책 |
0003_add_sort_order.sql | 가판대 순서 (items.sort_order) |
0004_add_user_ratings.sql | 1~5 평가 (urgency, desire, longevity) |
0005_add_monthly_saving.sql | 권장 월 저축액 (sessions.monthly_saving) |
0006_add_avatar_url.sql | 프로필 사진 (profiles.avatar_url) |
일부 컬럼이 없어도(마이그레이션 전) 앱은 동작하지만, 해당 값은 저장되지 않습니다.
src/app/
page.tsx 목표 선택
budget/ 월 예산 설정 (직접 입력 / 몬테카를로)
board/ 메인 보드 (주머니, 심사대, 가판대, 반품함, 계산대)
login/ 닉네임 + 비밀번호 로그인·가입
wishlists/, u/ 이웃 목록과 이웃 위시리스트
api/
evaluate/ AI 판정 (로그인 필수, 호출 횟수 제한)
parse-screenshot/ 스크린샷 인식 (로그인 필수, 호출 횟수 제한)
parse-link/ 링크 OG 파싱 (로그인 필수)
src/components/ 보드 UI 조각 (Mascot, Tutorial, ProgressRunner 등)
src/lib/
scoring.ts 점수 계산 (LLM 추정 + 규칙 기반 + 슬라이더 가중치)
montecarlo.ts 예산 역산 시뮬레이션
store.tsx 앱 상태와 Supabase 동기화
auth.tsx 닉네임 로그인
scripts/ AI 판정 재현성 검증 스크립트 (Phase 1)
supabase/migrations/ DB 마이그레이션
docs/ 프로젝트 회고, 작업 문서
public/tutorial/ 튜토리얼용 실제 화면 캡처
Netlify에 배포합니다. (Vercel 무료 플랜의 하루 배포 한도에 걸려 이전)
npx netlify-cli deploy --build --prod
환경변수 3개를 Netlify 사이트 설정에도 넣어야 합니다. 배포는 로컬에서 확인한 뒤에 한 번씩만 합니다.