OpenChart
Free Desktop charting with Claude or Codex. Describe alerts, research chart moves, and choose your data providers.
Track what a trip costs and who owes whom. Share one link with the group.
FinanceJavaScript · TypeScriptGitHub @Jisnu-DevOnlineOwner 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
Loading the full README. The saved excerpt is shown below.
Split trip expenses with a group. One shared link, no sign-up.
Next.js (App Router) + Postgres. Built for Vercel + Neon.
1. Push this folder to a GitHub repo.
2. On Vercel: Add New → Project, import the repo. Don't deploy yet.
3. In the project: Storage → Create Database → Neon. This creates the database and
adds DATABASE_URL to the project for you. (If you already have a Neon project, add
its pooled connection string as DATABASE_URL under Settings → Environment Variables.)
4. Deploy. Open the site, create the trip, share the link in your group chat.Read the full README ↗Split trip expenses with a group. One shared link, no sign-up.
Next.js (App Router) + Postgres. Built for Vercel + Neon.
DATABASE_URL to the project for you. (If you already have a Neon project, add
its pooled connection string as DATABASE_URL under Settings → Environment Variables.)There is no migration step. The app creates its tables the first time it connects
(lib/db.ts).
On each phone: open the link, pick your name, then use the browser menu's "Add to Home screen" to install it like an app.
cp .env.example .env.local # paste a Postgres connection string
npm install
npm run dev
npm test # split and balance maths
/t/<16 random characters>. Anyone with the link can read
and write, so share it only with the group. Each phone remembers who you are locally.lib/balances.ts).lib/split.ts): equal, exact amounts, percent, shares, and by item. The
server recomputes every split, so stored amounts always add up to the bill. Leftover
paise go to the largest remainders, rotating between people across expenses.ticket_chunks table, TICKET_CHUNK in
lib/constants.ts). For PDFs, the type, route or venue, date, ticket number and passengers
are read from the ticket's own text in the browser (lib/ticketParse.ts, written against
redBus e-tickets). public/pdf.worker.min.mjs is a copy of
node_modules/pdfjs-dist/legacy/build/pdf.worker.min.mjs; copy it again if you upgrade pdfjs-dist.lib/checklist.ts).app/ pages and API routes
api/trips/[id]/ GET the whole trip, POST { action, actorId, payload }
components/ screens and forms
lib/split.ts split maths lib/balances.ts balances + settle-up
lib/store.ts validation, actions lib/db.ts schema + connection