← All work
BubbleNode.jsExpressVercelOpenAISendGrid

RUBRI-K

Management system for a services company: work orders, customer tracking, inventory and a custom tax-validation API.

Role
Bubble Developer
Year
2023 to 2025
Industry
Services company

What I built

Work orders from creation to delivery, with status per order and per stage, filters by customer, studio, status and delivery date, and a public page where a customer checks the state of their order with an order number and a tracking code. An admin area with metrics on volume, revenue and top customers. Email through SendGrid and integration with legally valid electronic invoicing.

What I added later

The app stayed with me, and I kept building on it as the business grew:

  • A custom validation API, off the plugin. The app relied on a third-party Bubble plugin to validate tax IDs against the national authority. I replaced it with my own REST API in Node.js and Express, deployed on Vercel, connected to Bubble through the API Connector. The app stopped depending on someone else's plugin, the behaviour is now mine to fix and extend, and there is no per-use plugin cost.
  • AI-generated labels. Product and order labels are drafted automatically with OpenAI from the order's own data, so staff stop retyping the same descriptions by hand.
  • Barcode scanning. Items are scanned to move them through stages, check them in and out, and find an order without typing a number.
  • Stock and inventory. Real quantities per product, movements logged as they happen, and low-stock visibility, so the catalogue reflects what is actually on the shelf.
  • Operational dashboard. On top of revenue and top customers, a live view of what is in progress, what is overdue and what ships today, so the day is run from one screen.

The through-line is the one I bring to every project: the data was modelled so all of this could be added later without rebuilding the schema. And when a third-party plugin became a limit, I stepped outside no-code and wrote the service myself, which is the point of not being tied to one tool.

RUBRI-K — product screenshot

A screen from the live product.