eRENTAL.
Built from scratch for a business’s needs — and it outperforms off-the-shelf rental platforms for this kind of operation. A Budapest film-and-photo rental was running on someone else’s SaaS that dictated how they could sell; we rebuilt the whole operation: 399 items, date-first booking with real availability, a checkout shaped to how they trade, and an AI assistant that adds gear in three clicks.
Live erental.ihor.work — a snapshot from the working platform
The numbers come straight from the working platform: 399 published items across 24 categories, each cleanly classified. Live at erental.ihor.work.
Someone else's software that didn't fit the business
The rental ran on a generic SaaS. It couldn't express how they actually do business: cash payment on pickup instead of online payment, Hungarian 27% VAT and an ID field at checkout, prices in forints with a live euro reference — and a catalog of 399 very specific cinema items.
And to add a new lens or camera, someone had to hunt for photos, write descriptions in three languages, and pick a category by hand. So slow that the catalog lagged behind the shelves.
A platform shaped to the business, not the business to the platform
A custom platform on Next.js and Payload CMS with PostgreSQL. The full 399-item catalog, date-first booking that checks real availability against active orders, a checkout with an address book, ID field, pickup method, coupons, and 27% VAT — exactly what the rental needs and nothing extra.
Behind the counter: four access roles, multi-currency with a live euro rate from the central bank, and an AI assistant that turns a name or a link into a ready product-card draft. A human always publishes.
Outperforms off-the-shelf rental platforms — where they can’t reach
Built from scratch for a real rental operation. Every line below is something off-the-shelf platforms like Booqable don’t do out of the box — and eRENTAL does in production.
Described from shipped code — this is what the platform does in production, not a wishlist.
What the platform can do
Built around how a rental actually works — not around a generic online-store template.
First you pick the dates, then you browse the catalog. Availability is computed from active orders; double bookings are ruled out.
Indexed in two forms, spaced and joined: 'a74' finds 'A7 IV'. Prefix boost, all-token matching, caching.
Similar gear is scored by category, brand, and price tier — the four best additions to the kit, not a random row.
In goes a name or a link, out comes a draft: photos, texts in three languages, and a category. With human review.
An address book, ID field, pickup method, coupon, and a summary with 27% VAT. No online payment — pay on pickup.
Prices in forints with a live euro rate from the central bank; currencies are managed from the admin panel.
Hungarian, English, Russian: the storefront, product cards, and filters. Switch on any page without losing your place. A new language needs no code changes.
Architect, Admin, Seller, and Customer: staff see operations, the customer sees only their own orders.
Rebuilt for the phone end to end: the screen people actually use on set.
New gear on the shelf — online in three clicks
Adding a product used to mean hunting for photos, writing text in three languages, and picking a category by hand. Now the assistant assembles the draft — and a human still signs off on it.
Name or link
The staffer enters the product name or pastes a URL. Nothing more.
AI draft
The assistant finds real photos, writes descriptions in HU/EN/RU, and picks a category from the live list.
Human review
The draft goes into a queue with flags where the AI is unsure. Nothing publishes on its own.
Published
The staffer confirms, sets the price and availability — and the item goes into the catalog.
Human-in-the-loop by design: the assistant prepares, the human approves. Photo rights remain a human decision.
Finding the right gear — three engines
A catalog is only useful if the film crew finds what they need fast. Three engines handle that: faceted filters, forgiving search, and recommendations that understand the kit.
It understands how the crew types, not how the database expects — 'a74' finds 'A7 IV', 'rf50' finds 'RF 50mm'; in a multi-word query all tokens must match, and exact short names rise to the top.
Facets tailored to each category, not one shared set — optics filter by mount and aperture, lighting by power and color; values are ordered the way a professional thinks, not by result count.
Scored by how gear actually pairs on set — a shared category and the same brand keep compatible systems together, and price proximity keeps the suggestion in the same tier; the four strongest matches are shown.
Described from the implemented code — these are the actual scoring rules running on the platform.
What changed
The outcome
- ✓A complete working platform — catalog, booking, checkout, and admin panel.
- ✓Catalog upkeep went from manual research to three clicks with human confirmation.
- ✓Booking reflects real availability, not a static product list.
- ✓Built for handover: Docker, PostgreSQL, migrations, and a private repository.
Next.js 16 · Payload CMS 3 · PostgreSQL · Docker · migrations · private repository
OTHER SYSTEMS IN PRODUCTION
Is your business running on software that doesn't fit it?
Off-the-shelf tools make you work their way. A system built for your real operations works your way — with you, or fully turnkey.


