OpsPal
OpsPal Client Portal & E-Signature
An invite-only portal where OpsPal clients see their work log, hour balances, requests, quotes, agreements, and payments, with every request checked on the server.
- Astro
- Cloudflare Pages
- Supabase
- Postgres
- Stripe
The problem
Clients asked the same questions every week. What did you work on? How many hours are left? What do I owe? Where is the agreement? The answers were spread across the CRM, invoices, and email threads. Sending status updates by hand took time and still left clients guessing.
What I built
A client portal on its own subdomain, invite-only, where each client sees their own projects:
- A work log that shows every session and which bucket it counts against: in scope, retainer, a courtesy allowance, a purchased hour block, or a change order.
- Balances. Hour blocks and the courtesy allowance update as work is logged, and the database refuses to overdraw them.
- Requests. Clients submit requests in the portal instead of in scattered emails.
- Quotes, agreements, and payments. Proposals, e-signature, and payment links in one place. Card payments and wires settle through the same ledger.
- A timeline and a daily digest, so nothing important happens silently.
How it works
A client’s sign-in proves who they are and nothing more. Every read and write goes through a server-side function that looks up the client’s company first and returns only that company’s records, so a client can never query the database directly. A global switch and a per-project flag control what is visible, and new clients get access only by invitation.
Billing checks, digests, and documentation sync run as scheduled jobs inside the database.
Stack
Astro on Cloudflare Pages, Supabase (Postgres, row-level security, server-side functions, scheduled jobs), Stripe.
Where it stands
Live for OpsPal clients since September 2026.
Have the same problem?
Twenty minutes is usually enough to tell whether it is the same leak and what fixing it would take.
Related builds
Soko Healthcare
Soko Healthcare: Website, Intake & Speed-to-Lead System
Moving a South Florida nurse recruitment firm onto Cloudflare with two-sided intake forms, 60-second lead alerts, a recruiting CRM design, and pages built to show up in AI search.
OpsPal
Custom CRM, CPQ & Quote-to-Cash Platform
The CRM OpsPal runs on: accounts, leads, and deals with scoring, a pricing book and quote builder, agreements with e-signature, payment links, commissions, and finance dashboards.
A curated private-chef marketplace
Two-Sided Marketplace iPhone App
An iOS marketplace connecting clients with vetted private chefs: operator-reviewed onboarding, request-to-book with menu proposals, Stripe Connect payouts, and 18 push notifications.
An inbound sales team
Lead Queue & Speed-to-Lead Engine in Salesforce
Round-robin lead assignment with availability, a five-minute first-dial clock, automatic reassignment, and nightly recycling, so no inbound lead waits on someone to notice it.