MicroAI Paygate
AI 요청 결제 게이트웨이로 EIP-712 서명, 영수증 발행, 클라이언트 서명 검증 지원
주소 입력 시 DealScope가 임대 부동산 구매 한도를 추정해 임대료가 모기지를 충당하도록 계산
Enter an address. DealScope estimates the most you can pay for a rental property so rent covers mortgage, tax and insurance. For information only.
금융Python · HTMLGitHub @learnyourmind온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Real estate deal scope app
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗bash run.sh
Then open: http://localhost:5000
Double-click run.bat
Then open: http://localhost:5000
python3 -m venv .venv && .venv/bin/pip install -r requirements.txt
.venv/bin/python app.py
Type an address; get the price a rental can support.
RENTCAST_API_KEY to identify the home's bedrooms, baths, size and type and use its own rent estimate (one RentCast request per analysis; the free plan allows 50 a month). Without it, or if a lookup fails, the result is for a typical home in the ZIP and says why.intent.md, spec.md, plan.md.POST /analyze with Content-Type: application/json (all assumptions are optional):
{
"address": "1100 Congress Ave, Austin, TX 78701",
"assumptions": {"down_payment_pct": 20, "annual_interest_rate_pct": 7.0, "loan_term_years": 30,
"min_monthly_cash_flow": 100, "rent_adjustment_pct": 0,
"property_tax_rate_pct": 1.63, "insurance_rate_pct": 1.55, "hoa_monthly": 0}
}
Success: {"success": true, "analysis": {location, market, assumptions, home, qualifier, limitations, sources}}; the single home object has label, configuration (status not_identified until a source exists), rent, prices {piti_breakeven, allin_breakeven, target}, monthly_at_price, and at_target. Every value carries kind (retrieved, user, estimate, unavailable) and its source or basis. Failures: {"success": false, "error": {code, message, retryable, request_id}} — 400 INVALID_REQUEST/OUT_OF_RANGE, 404 PROPERTY_NOT_FOUND, 422 AMBIGUOUS_MATCH/INSUFFICIENT_DATA, 429, 502/503/504 PROVIDER_*, 500. Bounds and formulas: spec.md §5.
make install # one-time: .venv + dependencies
make check # lint, format check, secret scan, tests with coverage gate
make hooks # enable the pre-commit secret scan for this clone
make run # dev server on http://localhost:5000
Contributing with an AI agent? Read docs/ai-sdlc.md (task loop, human gates, guardrails, mapping to Anthropic's Claude Code guidance) and AGENTS.md. Hooks and skills you install yourself are in docs/claude-config/.
Deployed on Vercel (Flask app served as a Python function; see ADR-0004). CI (.github/workflows/ci.yml) runs on every pull request. Setup, release, and rollback steps are in docs/runbook.md; configuration variables are in .env.example. A Dockerfile (built in CI) keeps the app portable to any container host; Procfile platforms run gunicorn app:app. Do not expose the Flask development server.
data/zip_market.json, rebuilt monthly with python scripts/update_market_data.py.(income − HOA − goal) ÷ cost-per-dollar-of-price. Prices are rounded down to $1,000.RENTCAST_API_KEY is set); nothing is stored