최근에 직접 이렇게 구성해봤음. https://tiller.com/로 당좌/신용카드 거래를 Google Sheets에 동기화하고, GitHub Actions로 그 스프레드시트를 무료 Supabase DB에 미러링함 Supabase MCP나 psql로 Claude/Codex가 거래내역과 잔액에 영어 질의로 접근하게 했는데, 구독 패턴이나 이상 패턴을 찾는 능력이 꽤 인상적이었음. 특히 온라인 도구들이 잘 못하는 현금흐름 예측도 괜찮았고, 예를 들어 월 지출 패턴과 가용 현금을 기준으로 얼마를 저축으로 옮겨도 되는지 물어볼 수 있었음
자동 분류 쪽에서는 Claude가 커스텀 DSL을 꽤 잘 다뤘음. 수취인/카테고리 정규화를 위한 markdown 테이블 규칙셋을 만들게 했고, 그 규칙도 GitHub Actions에서 함께 돌리고 있음
Tiller가 은행 거래 데이터를 어떻게 가져오는지 궁금함 Plaid 같은 걸 통해 끌어오는지, 여전히 웹뱅킹 자격증명을 넘겨야 하는지, 2FA는 어떻게 처리되는지 알고 싶음
정식 API가 없는 금융기관에서는 아직도 스크린 스크래핑에 의존하는지, 버그로 의도치 않은 클릭이나 동의, 심지어 잘못된 송금 같은 일이 생기면 어떻게 되는지도 불안함. 읽기 전용이라고 하지만 개인 뱅킹에서 진짜 읽기 전용 보조 계정을 지원하는 은행은 거의 못 봤음
대규모 금융 피해가 났을 때 배상받을 수 있도록 보험이나 보증이 있는지도 궁금하고, 은행 데이터 전체를 두 업체에 보여주는 프라이버시 함의도 걱정됨. 데이터가 부적절하게 판매·공유됐다는 집단소송 얘기도 들었는데 실제로 무슨 일이 있었는지 모르겠음
은행 약관에서 비밀번호를 제3자와 공유하지 않겠다고 동의하는 조항도 걸림. 웹/클라우드 서비스에 내 금융을 맡기기엔 영 꺼림칙하고, 로컬에서 돌아가면서 은행 API와 통신하는 클라이언트 소프트웨어가 더 좋겠음. 캐나다에 그런 게 있는지도 궁금함
오픈 뱅킹이 온다고는 하는데 개인이 직접 만든 소프트웨어로 접근 가능한지도 불분명함. 정말 신뢰할 수 있고, 내려받은 뒤 내부 보관을 최소화하는 정책까지 강제된다면 나도 은행 API를 쓰고 싶음
나도 Tiller에 한 표임
Mint가 Intuit에 인수된 뒤부터 Tiller를 써왔고, 비슷한 구성을 하고 있음. 다만 나는 로컬 qwen 모델과 OAuth로 만든 API 키로 sheets 접근을 붙였는데, Claude Routine 방식이 훨씬 쉬웠을 듯함
이거 정말 멋짐. 혹시 오픈소스로 공개할 계획이 있는지 궁금함
전체 설정 방식이나, 특히 어떤 프롬프트를 쓰는지가 보고 싶음
굳이 왜 밑단에서 그냥 Plaid를 안 쓰는지 궁금함
내 순자산이 적어서 그런지 몰라도, 솔직히 이게 왜 가치 있는지 잘 모르겠음
LLM이 매일 이메일 보내는 것도 원치 않고, 투자 현황을 분기보다 자주 봐야 한다면 오히려 더 안전한 투자로 가야 할 것 같음. 예산 관리 도구에는 조금 관심 있지만, 그건 완전히 결정론적이길 바람
내 재무 계획은 대체로 평온한 편이라, 지금보다 더 지출 최적화에 시간 쓰느니 연봉 더 높은 직장을 찾는 게 낫다고 봄
actualbudget.org로 모든 지출을 추적하지만, 투자 계정은 한 달에 한 번만 갱신함
숫자와 관련된 건 원래 완전히 결정론적이어야 한다고 생각함
LLM에게 SQLite DB를 보여주고 지난 5년 거래에서 보이는 걸 말해보라고 했더니, 포착한 내용이나 상기시켜준 것들은 인상적이었음. 다만 실제로 내가 뭘 바꾸게 되는 실질적 가치가 있었는지는 잘 모르겠음
한동안 월별로 검토하게 해보려 하지만, 예산 업데이트만 해도 재무 상태는 대체로 이미 알고 있어서 얼마나 도움될지는 미지수임
Actual Budget + SimpleFIN 조합으로 은행 거래를 가져와본 적 있는지 궁금함
나는 그걸로 신용카드와 당좌계좌를 추적하고 있고, 원하면 거기에 MCP를 연결해서 한곳의 데이터를 분석할 수도 있음
고맙고, 반대로 뭐가 있으면 관심이 생길지 궁금함
캐나다 거주자고 추적용으로 https://lunchmoney.app/를 Plaid 연동과 함께 쓰고 있음
API가 있어서 LLM으로 CLI를 짜게 했고, 그 덕분에 에이전트가 필요한 데이터를 거의 마음대로 가져갈 수 있음
또 하나 시킨 일은 태깅 규칙들을 쌓는 것이었고, 그건 하루 한 번 cron으로 돌림. 가끔 규칙을 훑어보게 해서 미분류 거래용 새 규칙도 만들게 함
LLM이 작업을 규칙 엔진이나 코드로 메모화하게 만드는 패턴은 꽤 좋다고 봄. 일단 질의 가능한 CLI만 생기면 에이전트에게 거의 뭐든 시킬 수 있음
Lunch Money 창업자인데, 이렇게 써줘서 반가움
주된 사용 사례가 무엇인지 궁금함
관심 있는 사람들을 위해 우리 인프라/보안 구성의 큰 그림을 공유하겠음
백엔드와 CLI는 엄격히 linting된 Rust이고, 웹앱은 Axum 위에서 돌아가며 Postgres엔 sqlx로 연결함
금융 기능은 읽기 전용임. 이체·납부·송금 도구가 없고 AI 표면에서도 돈을 움직일 수 없음
Plaid에서는 거래, 투자, 부채만 요청하며 auth/transfer/payment initiation은 요청하지 않아서 전체 계좌번호나 라우팅 번호는 받지 않고 기본 last-4 mask만 받음
은행 사용자명과 비밀번호는 우리를 거치지 않고 Plaid Link로 가며, 우리는 기관별 access token만 보유함
Plaid access token은 별도 DB에 두고 단일 custody Cloud Run 서비스 뒤에 둠. 저장 시 Cloud KMS로 암호화되고, broker가 KMS encrypt/decrypt 엔드포인트를 호출하며 루트 키 재료는 Google HSM 경계를 벗어나지 않음. broker 서비스 계정만 암복호화 권한이 있고 웹앱은 그 DB를 읽을 권한이 없음
모든 암복호화 호출에는 Plaid item ID를 AAD로 넘겨서 한 아이템의 암호문을 다른 아이템 토큰으로 바꿔 복호화할 수 없게 함
각 Cloud Run 서비스는 저마다의 클라우드 ID와 DB role로 실행되고, 서비스 간 내부 호출도 짧은 수명의 identity token으로 인증함
운영 DB는 public IP가 없고, 비밀값은 소스나 컨테이너 이미지가 아니라 관리형 secret storage에 둠
AI connector는 OAuth 2.1 + PKCE이고 사용자별 scope를 가지며 UI에서 revoke 가능함. 모든 tool call에는 도구 이름, 정제된 인자, 호출 클라이언트, 에이전트가 제시한 이유를 기록해서 LLM이 사용자를 대신해 무엇을 요청했는지 볼 수 있음
AI 표면에는 fetch-URL, shell, 범용 I/O 도구가 없고, 구조화된 금융 데이터만 반환함. 네트워킹, IAM, DB grant는 모두 Terraform으로 관리하고 인프라 변경도 그 경로로만 진행함
인프라 접근은 2FA와 보안 키로 통제함
이런 기술적 세부사항을 실제로 공개해줘서 고마움
이 사이트 독자층을 이해하고 있다는 느낌이 들고, 보안을 각 계층에서 세심하게 설계한 점도 전체 도구에 대한 신뢰를 높여줌
나도 비슷한 걸 직접 만들어보려 했는데, 초반 MVP는 명세서 PDF를 수동으로 내려받아 Claude로 plain text 회계를 위한 ledger를 세팅하는 정도였고 나중에 Plaid를 붙일 생각이었음
특히 Plaid를 사람들이 어떻게 쓰는지가 궁금함. 시작하려면 일정 수준 사용자 수가 필요한지, 그냥 내 개인·사업 계좌를 깔끔한 API에 연결하려고 개인 용도로 Plaid 계정을 만들 수 있는지 알고 싶음
제품 기술 세부사항이나 Show HN 글을 공유한 사람을 굳이 다운보트할 거면, 적어도 이유는 밝혀줬으면 함
Routine을 쓸 때는 조심해야 함
거의 눈에 안 띄는 작은 안내문이 있는데, routine 모드에서는 MCP 도구가 쓰기 권한까지 포함해 항상 허용됨. 그래서 에이전트가 기술적으로는 멋대로 리소스를 바꿔버릴 수도 있음
맞음. 이런 도구를 쓸 때는 늘 프롬프트 인젝션을 염두에 둬야 함
이건 문제를 찾는 해결책처럼 보임. https://tiller.com/만으로도 충분히 잘 되고, 스프레드시트에서 원하는 계산을 다 할 수 있으며, 보너스로 환각도 없음
읽어야 할 장황한 LLM 요약을 굳이 왜 원하는지도 잘 모르겠음. 지출을 가끔씩 직접 분류만 해도 이상치는 금방 눈에 들어오고, Tiller면 그 작업도 쉬움
처음엔 나와 아내를 위해 직접 만든 거라서, 결국 우리에게 필요하고 원하는 걸 만든 셈임
이 분야에는 정말 다양한 제품이 나올 거고, 우리 제품은 그중 하나의 접근일 뿐임. 이런 시도가 많아지는 건 나도 좋게 봄
핵심은 요약문 자체가 아님 LLM이 여러 데이터 소스를 쉽게 흡수하고 결합할 수 있다는 점이 더 큼
우리 Era Finance는 이걸 정확히 겨냥한 솔루션을 만들고 있음. 호환되는 어떤 에이전트든 개인 재무와 연결하는 MCP인 Era Context이고, https://era.app에서 볼 수 있음
지금은 읽기 도구에 집중하고 있지만, 돈 이체나 부채 상환 같은 쓰기 도구도 준비 중임
원하는 기능이 있으면 위 도메인의 alex로 메일 달라고 하고 싶음. 참고로 나는 CEO Alex이고, HN은 거의 처음이지만 예전엔 stripe.com 웹 프레즌스 책임자였고 그전엔 Square/CashApp에 있었음
흥미로워 보이고, 지금 바로 써보는 중임
아마 이미 싸움은 진 건지 모르겠지만, 대체 왜 전체 금융 거래내역을 LLM에 맡기고 싶은지 모르겠음
LLM 제공업체가 이런 데이터 사용에 대해 금융업계보다 더 강한 보호장치를 갖췄을 것 같지도 않음. 금융업계 자체도 우리 데이터를 수집·채굴·판매하는 가혹한 산업인데 말임
적어도 내가 하는 가장 큰 이유는, 인사이트가 실제로 꽤 유용하기 때문임
지출 패턴이나 투자에 관심이 있는 입장에선 아주 기본적인 프롬프트만으로도 기존엔 놓쳤던 것들을 발견한 적이 있음
물론 이걸 안전하게 만드는 건 매우 어렵고, 그래서 그 부분을 엄청 오래 고민하고 있음
이 경우 제작자가 이미 전부 읽기 전용이라고 설명했음
그럼 정확히 뭐가 문제인지 잘 모르겠음
왜 안 되는데? 내 삶에 구체적으로 어떤 악영향을 줄 수 있는지 궁금함
내 주거래 은행인 영국 Monzo는 전체 API와 이벤트용 trigger webhook을 제공함
덕분에 비정상 거래가 생기면 이유를 설명하라고 묻는 WhatsApp 봇을 만들 수 있었고, LLM은 그 추론에만 사용함. 또 매일 자정 전 잔액을 저축 계좌로 쓸어 담아 일일 이자를 최대화하는 자동화도 해뒀음
일상 계좌에는 소액만 유지하고, 낮에 돈을 쓰면 저축에서 다시 채워 넣어 그 낮은 잔액을 유지함. 더 큰 지출이 필요하면 그때는 수동으로 옮김
정말 멋짐. 이런 건 오픈소스로 공개해줬으면 좋겠고, 미국에도 이런 환경이 있으면 훨씬 쉬워질 텐데 아쉬움
Claude로 과거 거래를 분석하려고 했을 때, 존재하지 않는 청구를 만들어내거나 새 항목을 추가하고 중복 집계하는 식의 환각이 계속 있었음
재무를 다룰 때는 Claude가 95% 맞는 수준으로는 부족함. 항상 경계하면서 결과를 검토해야 하니, 내 경우엔 사실상 가치가 없어짐
Codex의 GPT도 한번 써보길 권함
나도 Claude가 특히 불완전하거나 제한된 데이터셋에서 환각을 꽤 잘 일으킨다고 느낌
Hacker News 의견들
최근에 직접 이렇게 구성해봤음. https://tiller.com/로 당좌/신용카드 거래를 Google Sheets에 동기화하고, GitHub Actions로 그 스프레드시트를 무료 Supabase DB에 미러링함
Supabase MCP나 psql로 Claude/Codex가 거래내역과 잔액에 영어 질의로 접근하게 했는데, 구독 패턴이나 이상 패턴을 찾는 능력이 꽤 인상적이었음. 특히 온라인 도구들이 잘 못하는 현금흐름 예측도 괜찮았고, 예를 들어 월 지출 패턴과 가용 현금을 기준으로 얼마를 저축으로 옮겨도 되는지 물어볼 수 있었음
자동 분류 쪽에서는 Claude가 커스텀 DSL을 꽤 잘 다뤘음. 수취인/카테고리 정규화를 위한 markdown 테이블 규칙셋을 만들게 했고, 그 규칙도 GitHub Actions에서 함께 돌리고 있음
Plaid 같은 걸 통해 끌어오는지, 여전히 웹뱅킹 자격증명을 넘겨야 하는지, 2FA는 어떻게 처리되는지 알고 싶음
정식 API가 없는 금융기관에서는 아직도 스크린 스크래핑에 의존하는지, 버그로 의도치 않은 클릭이나 동의, 심지어 잘못된 송금 같은 일이 생기면 어떻게 되는지도 불안함. 읽기 전용이라고 하지만 개인 뱅킹에서 진짜 읽기 전용 보조 계정을 지원하는 은행은 거의 못 봤음
대규모 금융 피해가 났을 때 배상받을 수 있도록 보험이나 보증이 있는지도 궁금하고, 은행 데이터 전체를 두 업체에 보여주는 프라이버시 함의도 걱정됨. 데이터가 부적절하게 판매·공유됐다는 집단소송 얘기도 들었는데 실제로 무슨 일이 있었는지 모르겠음
은행 약관에서 비밀번호를 제3자와 공유하지 않겠다고 동의하는 조항도 걸림. 웹/클라우드 서비스에 내 금융을 맡기기엔 영 꺼림칙하고, 로컬에서 돌아가면서 은행 API와 통신하는 클라이언트 소프트웨어가 더 좋겠음. 캐나다에 그런 게 있는지도 궁금함
오픈 뱅킹이 온다고는 하는데 개인이 직접 만든 소프트웨어로 접근 가능한지도 불분명함. 정말 신뢰할 수 있고, 내려받은 뒤 내부 보관을 최소화하는 정책까지 강제된다면 나도 은행 API를 쓰고 싶음
Mint가 Intuit에 인수된 뒤부터 Tiller를 써왔고, 비슷한 구성을 하고 있음. 다만 나는 로컬 qwen 모델과 OAuth로 만든 API 키로 sheets 접근을 붙였는데, Claude Routine 방식이 훨씬 쉬웠을 듯함
전체 설정 방식이나, 특히 어떤 프롬프트를 쓰는지가 보고 싶음
내 순자산이 적어서 그런지 몰라도, 솔직히 이게 왜 가치 있는지 잘 모르겠음
LLM이 매일 이메일 보내는 것도 원치 않고, 투자 현황을 분기보다 자주 봐야 한다면 오히려 더 안전한 투자로 가야 할 것 같음. 예산 관리 도구에는 조금 관심 있지만, 그건 완전히 결정론적이길 바람
내 재무 계획은 대체로 평온한 편이라, 지금보다 더 지출 최적화에 시간 쓰느니 연봉 더 높은 직장을 찾는 게 낫다고 봄
숫자와 관련된 건 원래 완전히 결정론적이어야 한다고 생각함
LLM에게 SQLite DB를 보여주고 지난 5년 거래에서 보이는 걸 말해보라고 했더니, 포착한 내용이나 상기시켜준 것들은 인상적이었음. 다만 실제로 내가 뭘 바꾸게 되는 실질적 가치가 있었는지는 잘 모르겠음
한동안 월별로 검토하게 해보려 하지만, 예산 업데이트만 해도 재무 상태는 대체로 이미 알고 있어서 얼마나 도움될지는 미지수임
나는 그걸로 신용카드와 당좌계좌를 추적하고 있고, 원하면 거기에 MCP를 연결해서 한곳의 데이터를 분석할 수도 있음
캐나다 거주자고 추적용으로 https://lunchmoney.app/를 Plaid 연동과 함께 쓰고 있음
API가 있어서 LLM으로 CLI를 짜게 했고, 그 덕분에 에이전트가 필요한 데이터를 거의 마음대로 가져갈 수 있음
또 하나 시킨 일은 태깅 규칙들을 쌓는 것이었고, 그건 하루 한 번 cron으로 돌림. 가끔 규칙을 훑어보게 해서 미분류 거래용 새 규칙도 만들게 함
LLM이 작업을 규칙 엔진이나 코드로 메모화하게 만드는 패턴은 꽤 좋다고 봄. 일단 질의 가능한 CLI만 생기면 에이전트에게 거의 뭐든 시킬 수 있음
관심 있는 사람들을 위해 우리 인프라/보안 구성의 큰 그림을 공유하겠음
백엔드와 CLI는 엄격히 linting된 Rust이고, 웹앱은 Axum 위에서 돌아가며 Postgres엔 sqlx로 연결함
금융 기능은 읽기 전용임. 이체·납부·송금 도구가 없고 AI 표면에서도 돈을 움직일 수 없음
Plaid에서는 거래, 투자, 부채만 요청하며 auth/transfer/payment initiation은 요청하지 않아서 전체 계좌번호나 라우팅 번호는 받지 않고 기본 last-4 mask만 받음
은행 사용자명과 비밀번호는 우리를 거치지 않고 Plaid Link로 가며, 우리는 기관별 access token만 보유함
Plaid access token은 별도 DB에 두고 단일 custody Cloud Run 서비스 뒤에 둠. 저장 시 Cloud KMS로 암호화되고, broker가 KMS encrypt/decrypt 엔드포인트를 호출하며 루트 키 재료는 Google HSM 경계를 벗어나지 않음. broker 서비스 계정만 암복호화 권한이 있고 웹앱은 그 DB를 읽을 권한이 없음
모든 암복호화 호출에는 Plaid item ID를 AAD로 넘겨서 한 아이템의 암호문을 다른 아이템 토큰으로 바꿔 복호화할 수 없게 함
각 Cloud Run 서비스는 저마다의 클라우드 ID와 DB role로 실행되고, 서비스 간 내부 호출도 짧은 수명의 identity token으로 인증함
운영 DB는 public IP가 없고, 비밀값은 소스나 컨테이너 이미지가 아니라 관리형 secret storage에 둠
AI connector는 OAuth 2.1 + PKCE이고 사용자별 scope를 가지며 UI에서 revoke 가능함. 모든 tool call에는 도구 이름, 정제된 인자, 호출 클라이언트, 에이전트가 제시한 이유를 기록해서 LLM이 사용자를 대신해 무엇을 요청했는지 볼 수 있음
AI 표면에는 fetch-URL, shell, 범용 I/O 도구가 없고, 구조화된 금융 데이터만 반환함. 네트워킹, IAM, DB grant는 모두 Terraform으로 관리하고 인프라 변경도 그 경로로만 진행함
인프라 접근은 2FA와 보안 키로 통제함
이 사이트 독자층을 이해하고 있다는 느낌이 들고, 보안을 각 계층에서 세심하게 설계한 점도 전체 도구에 대한 신뢰를 높여줌
나도 비슷한 걸 직접 만들어보려 했는데, 초반 MVP는 명세서 PDF를 수동으로 내려받아 Claude로 plain text 회계를 위한 ledger를 세팅하는 정도였고 나중에 Plaid를 붙일 생각이었음
특히 Plaid를 사람들이 어떻게 쓰는지가 궁금함. 시작하려면 일정 수준 사용자 수가 필요한지, 그냥 내 개인·사업 계좌를 깔끔한 API에 연결하려고 개인 용도로 Plaid 계정을 만들 수 있는지 알고 싶음
Routine을 쓸 때는 조심해야 함
거의 눈에 안 띄는 작은 안내문이 있는데, routine 모드에서는 MCP 도구가 쓰기 권한까지 포함해 항상 허용됨. 그래서 에이전트가 기술적으로는 멋대로 리소스를 바꿔버릴 수도 있음
이건 문제를 찾는 해결책처럼 보임. https://tiller.com/만으로도 충분히 잘 되고, 스프레드시트에서 원하는 계산을 다 할 수 있으며, 보너스로 환각도 없음
읽어야 할 장황한 LLM 요약을 굳이 왜 원하는지도 잘 모르겠음. 지출을 가끔씩 직접 분류만 해도 이상치는 금방 눈에 들어오고, Tiller면 그 작업도 쉬움
이 분야에는 정말 다양한 제품이 나올 거고, 우리 제품은 그중 하나의 접근일 뿐임. 이런 시도가 많아지는 건 나도 좋게 봄
LLM이 여러 데이터 소스를 쉽게 흡수하고 결합할 수 있다는 점이 더 큼
우리 Era Finance는 이걸 정확히 겨냥한 솔루션을 만들고 있음. 호환되는 어떤 에이전트든 개인 재무와 연결하는 MCP인 Era Context이고, https://era.app에서 볼 수 있음
지금은 읽기 도구에 집중하고 있지만, 돈 이체나 부채 상환 같은 쓰기 도구도 준비 중임
원하는 기능이 있으면 위 도메인의 alex로 메일 달라고 하고 싶음. 참고로 나는 CEO Alex이고, HN은 거의 처음이지만 예전엔 stripe.com 웹 프레즌스 책임자였고 그전엔 Square/CashApp에 있었음
아마 이미 싸움은 진 건지 모르겠지만, 대체 왜 전체 금융 거래내역을 LLM에 맡기고 싶은지 모르겠음
LLM 제공업체가 이런 데이터 사용에 대해 금융업계보다 더 강한 보호장치를 갖췄을 것 같지도 않음. 금융업계 자체도 우리 데이터를 수집·채굴·판매하는 가혹한 산업인데 말임
지출 패턴이나 투자에 관심이 있는 입장에선 아주 기본적인 프롬프트만으로도 기존엔 놓쳤던 것들을 발견한 적이 있음
물론 이걸 안전하게 만드는 건 매우 어렵고, 그래서 그 부분을 엄청 오래 고민하고 있음
그럼 정확히 뭐가 문제인지 잘 모르겠음
내 주거래 은행인 영국 Monzo는 전체 API와 이벤트용 trigger webhook을 제공함
덕분에 비정상 거래가 생기면 이유를 설명하라고 묻는 WhatsApp 봇을 만들 수 있었고, LLM은 그 추론에만 사용함. 또 매일 자정 전 잔액을 저축 계좌로 쓸어 담아 일일 이자를 최대화하는 자동화도 해뒀음
일상 계좌에는 소액만 유지하고, 낮에 돈을 쓰면 저축에서 다시 채워 넣어 그 낮은 잔액을 유지함. 더 큰 지출이 필요하면 그때는 수동으로 옮김
Claude로 과거 거래를 분석하려고 했을 때, 존재하지 않는 청구를 만들어내거나 새 항목을 추가하고 중복 집계하는 식의 환각이 계속 있었음
재무를 다룰 때는 Claude가 95% 맞는 수준으로는 부족함. 항상 경계하면서 결과를 검토해야 하니, 내 경우엔 사실상 가치가 없어짐
나도 Claude가 특히 불완전하거나 제한된 데이터셋에서 환각을 꽤 잘 일으킨다고 느낌