- Eric Vegas
- 2026-07-01
- 2026-09-17
The problem
Small businesses accumulate subscriptions nobody is tracking. The costs are spread across cards and inboxes, the accounts are often in a contractor's name rather than the owner's, and nobody can say what actually stops working if a given service lapses.
One screen that answers the money questions, with every account in the client's own name, on the client's own card, so leaving is always possible.
What I built
A marketing site and a separate operations application. The application lists each client's services, separates fixed from variable monthly cost rather than blending them, shows what renews next, records who owns each account, and states the blast radius of each service: what breaks if it lapses.
How it works
Fixed and variable costs are never combined into one figure, because a blended number hides the thing the owner needs to see. Status is stamped and dated rather than described as healthy, since a green light on a dead service costs exactly the trust the product exists to build.
My role
Eric designed and built both properties, the marketing site and the operations application, and defined the ownership model the product is sold on. There is no third-party platform doing the interesting part here; the application is the product.
The hard part
The ownership rule, which is a product constraint before it is a technical one: every account stays in the client's name on the client's card, so the client can leave at any time. That removes the usual lock-in an operations product relies on, and it forces the software to be worth paying for on its own. The design consequence is that fixed and variable cost are never blended into one number and status is stamped with a date rather than shown as a green light, because a stale reassurance is worse than no reassurance.
Proof
Go and open it
Artifacts
Claims, and what backs each one
Both the marketing site and the operations application are live.
Both return HTTP 200 on their own domains, myvirtualops.com and app.myvirtualops.com, as of 2026-09-17.
Results from client deployments are shared with permission on a call.
What I learned
Deciding what the product refuses to do is most of the design. Once leaving is always possible, every screen has to answer a money question or it does not belong.
Technologies
- Next.js
- React
- Vercel
If something here is close to a problem you have, the useful first message is what the thing has to do and what it has to talk to.
Work with me →