Base
Base is the blockchain for global finance.
Analyze hotel OTA statements to track net revenue, identify double-commissioned guests
Translation pending
AI summary · website content
FinanceTypeScript · PythonGitHub @aaravfractalOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗Seedha shows a small hill hotel (10 to 40 rooms, Uttarakhand first) what each booking channel really leaves it after discount, commission, GST on commission and payment fees. It finds repeat guests the hotel paid an OTA for twice, captures guest consent at the front desk, and wins those guests back to book direct with an owner-approved WhatsApp perk and a direct booking link with UPI. Built for the TBI GEU AI-Tourism Hackathon, Track D6 (Channel Mix and Distribution Cost Optimisation). D6 is computation, not prediction, so every rupee on screen is computed by code from stored rows.
All hotel, guest and booking data in this repo is fictional sample data (Hotel Deodar View, 22 rooms, April to September 2026).
/desk/device) shows a consent QR; the guest says yes on their own phone, and the box is unticked by default./h/<slug> or <slug>.<SITE_ROOT_DOMAIN>, with Copy, Share on WhatsApp and a QR download.| Money kept (the flip) | Desk consent |
|---|---|
| Savings | Consent proof |
|---|---|
flowchart LR
Owner[Owner browser] --> Web[Next.js web app]
Guest[Guest phone] --> Web
Desk[Front desk screen<br/>phone or tablet] --> Web
Web -->|server-side proxy| API[FastAPI API]
API --> DB[(SQLite locally<br/>Postgres when hosted)]
API -.->|optional| Claude[Claude API]
API -.->|optional| WA[WhatsApp Cloud API]
API -.->|optional| Amoy[Polygon Amoy testnet]
DATABASE_URL. The full API suite runs on both in CI./desk/device for a phone or tablet at reception; it shows the consent QR and the slip.| Part | Status |
|---|---|
| Ledger, net kept per channel, the flip, repeat guests, savings | Real: computed by code from the stored sample rows |
| Statement parsing for CSV and Excel | Real |
| Statement parsing for PDFs and unknown layouts | Claude when a key is set, for the owner; hosted and public-link visitors get the labelled fallback; otherwise the sample statements are read from known layouts |
| Consent capture, salted fingerprints, Merkle roots | Real |
| Proof write to a public chain | Polygon Amoy testnet only, when a funded testnet wallet, RPC and PROOF_CHAIN_ID=80002 are set; otherwise stored locally and labelled "Local only" |
| WhatsApp messages | Simulated send log unless WhatsApp Cloud API keys are set |
| UPI payment on Seedha Link | Simulated (labelled); no payment gateway is connected |
| Message drafts and event reading | Claude when a key is set, for the owner; fixed templates and a labelled sample extraction otherwise (hosted and public-link visitors always get these) |
| Seedha Site text | Claude only when SITE_GEN_MODEL and ANTHROPIC_API_KEY are set; otherwise text from the owner's own words, labelled Sample. Hosted, the sample hotel's public page always shows the fixed sample page and visitors cannot publish |
| Stay invoice PDF | Real, built from the booking row; marked Sample for the sample hotel |
| Hotel, guests, bookings, events, second property | Fictional sample data, labelled |
No OTA website is scraped. Guest contacts from OTAs are never stored or messaged; only guests who said yes at the Desk can be messaged.
After a one-time make setup (see README-dev.md):
make demo-prod
Open http://localhost:3000/login and tap Direct beta login. That opens the fictional sample hotel with no code. The demo listens on localhost only.
The 8-step demo path (Home shows "0 of 8 done"):
/link/DEODAR-RS26, book with simulated UPI. The code works once.For phones on the same Wi-Fi use make demo-lan, and for a public link
make demo-live (needs cloudflared). Both use fresh secrets for every
run and keep reset, Claude and testnet writes on the laptop.
make check runs every gate:
The locked sample numbers (₹10,39,108 paid to channels, MakeMyTrip ₹2,737 net per room night, direct ₹4,283, total net ₹47,33,012) are asserted in tests. The flip speed check needs a quiet machine: under heavy load from other apps it can exceed its 1 second budget.
All planned; none of these are live.
Setup, environment variables, the full demo script, the manual checklist for the live features and troubleshooting are in README-dev.md.
The firmware/ folder and the device API remain in the repo but are not part of the product shown to users.