
Opticamp — a multi-tenant SaaS for campsite management
A personal project in progress: bookings, pricing, and check-in/check-out so any campsite can run it under its own domain, with multi-tenancy built in from the ground up.

Context
My own idea: campsites usually manage bookings with spreadsheets or generic software that isn't built for their operations — physical pitches, seasonal pricing, tourist tax, guest registration. I decided to build it from scratch to really understand what a serious multi-tenant SaaS requires, not just another CRUD.
Role
Sole author — designed the architecture (domain-based multi-tenancy, three access zones) and built the backend end-to-end. I chose Laravel for this personal project to get hands-on with its multi-tenancy ecosystem; for client work I use whichever stack best fits the project's scope (Java/Spring Boot, Laravel, Symfony...).
Problem
Each campsite needs to manage its own pitch inventory and seasonal pricing, isolated from every other tenant, while sharing a single installation — on top of Spanish legal requirements like guest registration and Veri*Factu-compliant invoicing.
Solution
Laravel 13 backend with domain/subdomain-based multi-tenancy (stancl/tenancy), three role-separated zones (superadmin, campsite admin, public portal), an availability engine with season- and accommodation-type-aware pricing, and Livewire-based admin panels. Redis-backed queues for asynchronous jobs.
Result
A functional product core: pitch and catalog management, seasons and pricing, an availability search engine, and the full reservation lifecycle, all running on the multi-tenant architecture. Personal project, actively in development, not yet launched.