BUILD CASE STUDY

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.

  1. Read the uploaded PDF as text and discard empty lines.
  2. Find invoice dates, due dates, invoice numbers and the amount due where those labels are present.
  3. Track category headings and associate a Replit deployment UUID with its extracted cost.
  4. 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
  status

This 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.

About the author

Gary Pine

Founder and Principal Architect at The Rocking Lobster Ltd.

Gary Pine built SirVibeAlot as a billing reconciliation tool for agencies using Replit.