Oracle3
Open-source trading engine and MCP server for prediction markets. Fee-aware no-arbitrage trading across related contracts, live on Kalshi, Polymarket and Solana or on paper.
Naccache 1727 Building Account Tracker PWA
Translation pending
FinanceJavaScript · PLpgSQLGitHub @roberthabibOnlineOwner 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 ↗A mobile-first progressive web app for managing a residential building's finances — tenant dues and payments, expenses, shared services (generator + water), building projects, and cash/reserve position. Runs in the browser on local storage, with optional Google Sheet sync and invoice-photo upload to Google Drive. Two roles: owner (full access) and tenant (read-only, PIN login).
node .\local-server.js
Then open http://localhost:4180. For phone testing on the same Wi-Fi, use the computer's IP instead of localhost. (The dev server also serves .pdf files inline, handy for checking generated statements.)
Deploy to a public HTTPS host (this project uses Vercel: vercel --prod from inside the project folder), open the URL on the phone, then:
Add to Home screen / Install app.Add to Home Screen.Open it from the home-screen icon afterwards.
On first launch the Setup wizard collects the language (English/Arabic), building name, owner password, collection mode, monthly budget / LBP rate, and tenants (with coefficient, breaker size, phone, and PIN). You can re-run it any time from Settings → App Setup → Setup wizard, and change the language any time in Settings → Building Details → Language.
Sync keeps a backup in a Google Sheet and lets multiple devices share data.
google-sheet-sync-only.gs, and Deploy → New deployment → Web app (Execute as: Me; Who has access: Anyone). Copy the /exec URL.SYNC_SECRET in Apps Script, and the same value in Settings → Sync secret. Requests without it are then rejected, so a leaked URL alone is useless.In Settings → Share access, copy the access code and send it to the tenant. On their phone they tap "Connect to a building" on the login screen and paste it — this configures sync and downloads the data, then they log in with their PIN.
On HTTPS, invoice photos upload through the Vercel function api/upload-invoice.js to a Drive folder (set the folder ID in Settings). Configure these Vercel environment variables (personal Gmail Drive):
GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET, GOOGLE_REFRESH_TOKEN, GOOGLE_DRIVE_FOLDER_IDWorkspace Shared Drives can instead use GOOGLE_SERVICE_ACCOUNT_EMAIL + GOOGLE_PRIVATE_KEY + GOOGLE_DRIVE_FOLDER_ID. Keep private keys and refresh tokens in Vercel only — never in app Settings.
data/seed.json is an intentionally empty factory-reset template (no real data or credentials).APP_VERSION (src/app.js, shown in Settings) and CACHE_NAME (sw.js).CLAUDE.md for architecture, state schema, and conventions.