How I Built a Replit Billing Tool: Stack and PDF Parser
The Architecture of Intent
By Gary Pine, Founder, The Rocking Lobster Ltd · Updated 19 September 2026
TL;DR
- SirVibeAlot parses Replit PDF invoice text and extracts usage categories, costs and deployment UUIDs.
- PostgreSQL stores client records, deployment IDs and markup percentages for reconciliation.
- React, Tailwind CSS and Recharts provide the browser interface and data visualisation.
- The ID Vault stores deployment IDs against client records so mappings are reused from month to month.
The problem
SirVibeAlot addresses the practical problem of reconciling one Replit invoice across multiple agency clients. A Replit invoice can contain Autoscale Compute Units, Neon Data Storage, Outbound Data Transfer and deployment UUIDs that need to be connected to the right client before billing.
The application accepts a PDF invoice, extracts invoice metadata and line items, looks up each deployment ID in the ID Vault, applies the client's configured markup, and records a reconciliation batch.
The stack
The application uses Node.js and Express on the server, PostgreSQL for persistence, React for the interface, Tailwind CSS for styling, and Recharts for charts.
Node.js and Express
The server exposes the application routes, accepts invoice uploads and runs the reconciliation workflow.
PostgreSQL and the ID Vault
Client records include an agency name, client name, application name, domain, Replit deployment ID, status and markup percentage.
React, Tailwind CSS and Recharts
React renders the product interface, Tailwind CSS supplies its existing visual system, and Recharts supplies data visualisation.
Application delivery
The application combines a web server with a React client interface; its hosting and deployment configuration is separate from the billing workflow described here.
How the PDF parser works
The server accepts PDF uploads, passes the file to a PDF text parser, then uses regular expressions and line-level rules to identify billing periods, invoice metadata, categories, UUIDs and dollar amounts.
- Read the uploaded PDF as text and discard empty lines.
- Find invoice dates, due dates, invoice numbers and the amount due where those labels are present.
- Track category headings and associate a Replit deployment UUID with its extracted cost.
- Discard zero-cost items, look up each UUID, and save the resulting reconciliation batch.
The parser recognises categories from the source text rather than assuming a fixed invoice total. The recognised invoice vocabulary includes Agent Usage, Autoscale Compute Units, Neon Compute Time, Neon Data Storage and Outbound Data Transfer when those labels appear in the PDF.
How the ID Vault maps deployments to clients
The ID Vault is the client mapping held in the database: a Replit deployment ID is stored against a client record, and reconciliation uses that ID to attach costs and markup to the matching client. Authenticated server routes protect client and reconciliation operations.
clients
id
agency_name
client_name
app_name
replit_id
markup_percentage
statusThis is a field summary, not a database export. The application resolves a deployment ID to one client record before calculating the markup amount and total.
Try it
To request access, apply for SirVibeAlot founding access. For the billing problem this tool addresses, read the guide to reconciling Replit hosting costs for clients.