Shioaji Pro
에이전트를 위한 거래 터미널: 코딩 에이전트가 전부 구축, UI 100% 오픈소스, 데스크톱에 AI 에이전트와 전문 주문 패널 내장
CSV에서 중복 청구서와 총액 불일치를 찾아내며, 파일은 절대 업로드되지 않고 모든 결과를 사람이 검토합니다
Finds possible duplicate invoices and total mismatches in a CSV, in your browser. Files are never uploaded; a person reviews every finding.
금융TypeScript · PythonGitHub @idotbosbur온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Invoice-error review prototype — exact-cents checks, human review, measured benchmark. Synthetic data.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Live: https://catchfold.com/ · free · no sign-up · your files never leave your browser
Catchfold (formerly Preflight) is a free web tool for small businesses and individuals. You drop in a bills export from your accounting software and, if you like, a bank or card statement. In a few seconds it shows what may have been paid twice, overcharged or quietly gone up, with the evidence for each, and you decide what to do about it. It never pays, blocks or approves anything.
It is a portfolio project that is now being tested with real small businesses. It is not a production finance platform.
| Check | Needs | How |
|---|---|---|
| Bills entered twice | Bills | Same supplier and invoice number after normalising case, spaces and punctuation |
| Same amount twice in 14 days | Bills | Same supplier and amount, different invoice numbers (lower confidence) |
| Totals that don't add up | Bills with subtotal and tax | Subtotal + tax + shipping − discount, in exact cents |
| Bills paid twice / payments with no bill | Bills + a statement | Exact amount, payment 0 to 90 days after the bill, payee name matched to the supplier |
| Monthly charges creeping up / charged twice | A statement | A payee seen about once a month whose amount rose, or was taken twice in one month |
| Supplier price increases | Bills with item lines (e.g. Xero) | Same item from the same supplier, unit price up more than 2% |
| Year-end contractor (1099) list | Bills | Totals per payee per year, spellings grouped, over-threshold payees and missing W-9 or insurance flagged |
The results page adds them up into one figure, lists the biggest first, and drafts a polite email to the supplier for each one.
File formats: CSV, Excel (.xlsx), bank downloads (.qfx, .ofx, .qbo), and semicolon- or tab-separated text. File type and columns are recognised from the header row; the person only answers a question when it is genuinely unclear (for example whether 03/04 is March 4 or April 3). PDFs and photos are not supported; reading them well needs a stronger AI than a free browser tool can run, so they are on the list for a possible paid version.
A small sentence-embedding model (all-MiniLM-L6-v2, 8-bit, about 23 MB) runs in the browser through
@huggingface/transformers. It scores how alike two names are, so a bank line like SQ *ACME SUPPLY 4412 can be
matched to the supplier Acme Supply Co., and differently written item names can be grouped. Only the model files are
downloaded; no invoice or statement text leaves the device.
It is deliberately limited:
COMCAST CABLE vs Xfinity: 0.57) and
weak on abbreviations (AMZN vs Amazon: 0.19) and item names, so the thresholds are set high and word matching
does most of the work. A larger model is the obvious next experiment.docs/samples/test-set (kept out of the repository) with the expected result for every
file: all nine expected findings appear, nothing else is flagged, and the dollar total matches a hand calculation.The browser app is a port of an earlier local Python prototype. In that prototype, submitting a review returned HTTP 403
in a real browser even though every automated test passed. The cause was the header Referrer-Policy: no-referrer,
which makes Chromium send Origin: null on form posts, so the server's origin check rejected them. The fix changed the
policy to same-origin while keeping the strict origin allowlist and CSRF checks, and added a regression test that
submits the real rendered form. Codex found it during browser QA; Claude fixed it.
The concept, scope, product and design decisions are the project owner's. An earlier assistant elaborated the concept into the twelve-module roadmap. The application code and tests were written by Claude (Anthropic's AI coding agent), working as a lead with worker agents and independent reviewers. Codex coordinated the early work and ran browser QA. The owner did not hand-write the code.
React 19 · TypeScript 6 · Vite 7 · IndexedDB · Web Crypto · WebGL (hand-written raymarching shaders for the 3D logo and
background) · @huggingface/transformers 4.3.1 (in-browser AI) · read-excel-file 9.3.12 (Excel) · Node's built-in
test runner · Python 3.12 standard library for the reference prototype.
cd web
npm ci
npm test # typecheck + domain/state/evaluation tests + UI tests + static pages
npm run build # static site in web/dist
npm run dev # http://127.0.0.1:5173
Python reference (from the repository root): python -m unittest discover -s tests -t . and
python -m tests.evaluation.evaluate.
| Path | What it is |
|---|---|
web/ | The browser app (what the live site runs), its tests and evaluation harness |
src/, tests/, run.py | The original Python reference prototype and its tests |
fixtures/ | The synthetic invoice data and its answer key |
reports/latest.* | The latest Python benchmark report |
docs/ | Architecture, evaluation plan and the twelve-module roadmap |
The free version stays free. Ideas that would need servers and paid AI (connecting QuickBooks, Xero or a bank, reading PDFs, a stronger AI, chasing refunds, a bookkeeper mode) are listed on the site, where visitors vote on what they would use. The longer-term twelve-module vision is on the Roadmap page.