Event rental software you can own and self‑host.
Inventory, project quoting, live availability checks, pull sheets, customer e-signatures and an SEO-friendly public catalog — in one full-stack app, with an optional AI copilot that can read and draft but never act on its own.
admin@sunset-demo.test · Password DemoAdmin!2026Fictional company, in-browser data. No server, nothing stored.
What it does
Built around the real workflow of a rental company, from first inquiry to pull sheet. The demo lets you try each of these.
Inventory & availability
Searchable catalog with categories, stock, set-asides and per-day availability. Overbooked items surface as conflicts before you promise them.
Quotes & pricing
Line items, discounts, tax, custom items and contract text — with signed-versus-unsigned change tracking that forces re-approval.
Client portal & signing
Shareable public quote page with approve-and-sign, live quote-linked messaging and audit-oriented signing artifacts.
Pull sheets
Warehouse picking lists grouped by category, with aggregate pulls and QR/serial tracking for fulfillment.
Public SEO catalog
Canonical URLs, JSON-LD product markup, robots and sitemap generation so your inventory ranks.
CINDY copilot
Permission-aware, read/draft-only assistant across the app. Supports OpenAI, Anthropic, Gemini or managed local Ollama — AI is never a hard dependency.
Architecture
A single deployable: SPA, API and SQLite, with optional Rust and AI services behind feature flags.
Browser (React + Vite SPA) ◄─────► Public quote & catalog pages (SEO)
│ REST / SSE
▼
Express API ── permissions · quotes · inventory · files · messaging · admin
│ │ │
▼ ▼ ▼
SQLite (sql.js) Rust availability Optional AI: OpenAI · Anthropic · Gemini · Ollama
+ safe migrations engine (guarded) (CINDY copilot, read/draft only)
▲
Chrome MV3 extension · Google Sheets import · SMTP / IMAP · Docker / Windows EXE
Engineering highlights
Choices that go beyond the feature list.
Safe schema evolution
Startup migrations keep a live database upgradeable, with backup and a DB guardian service plus worker heartbeats and incident reflection.
Permissions by module
Role-aware navigation and per-module read/write permissions, including a dedicated check for AI copilot access.
Domain correctness
Shared totals logic, oversold detection across overlapping events, signed-quote change control and a guarded Rust parity path for the availability engine.
Documented & audited
Architecture and API docs, a security audit, release notes per version, structured handoffs and an extensive test suite.
Tech stack
Run it yourself
Docker is the quickest path; Bun or Node 20 works for development.
- Clone and install
git clone https://github.com/248Tech/rentalos.git cd rentalos npm run install:all
- Configure — copy
.env.exampleto.envand setAPP_URL(and optional AI / Mapbox keys). - Start
npm run dev # API :3001, client :5173 # or docker compose up -d --build