Case study
Built a multi-tenant Laravel SaaS that turns crawling, search data and AI workflows into a content-planning system.
System at a glance
-
01
Crawl
A FastAPI service extracts content, metadata and the internal link graph.
-
02
Research
Search and ranking data feed a structured demand map.
-
03
Plan & create
Queued AI workflows help turn opportunities into outlines and content.
-
04
Track
Rankings, site health, limits and billing stay connected to each tenant.
The product
SitePerfector is my own content-planning and SEO workflow product. It combines website crawling, search and ranking data, a structured content strategy model and AI-assisted production workflows.
I include it here as technical proof, not as a second service competing for attention. It shows what I am building now: a large Laravel product with real tenancy, data-isolation, queueing, billing and external-service concerns.
The architecture
The application uses separate landlord and tenant databases. Shared concerns such as users, teams, plans, subscriptions and billing live in the landlord layer; each tenant’s websites, crawls, keywords, content plans, rankings and articles live in its own database.
Heavy work moves through tenant-aware Laravel Horizon queues. A separate FastAPI crawler discovers pages, extracts structured SEO data and sends results back to Laravel. A second Python service handles model routing and prompt workflows. Stripe covers payments, while plan limits and usage controls sit inside the product rather than being bolted on afterwards.
The Laravel codebase itself has more than 90 Eloquent models and more than 200 action classes. Livewire and Alpine power the application UI, with Filament handling administration.
What made it difficult
- keeping tenant data isolated across normal requests and queued work;
- turning several kinds of external search data into one coherent model;
- coordinating long-running crawls, analysis and AI tasks without making the interface feel blocked;
- measuring AI and search-data usage against plan limits;
- evolving a large domain model while the product itself is still being learned.
Why it belongs in this portfolio
SitePerfector is current evidence that my development work did not peak years ago. It is a ground-up, multi-service SaaS with enough moving parts to require architecture, product judgment and operational discipline — not just framework familiarity.
Stack
- Laravel / PHP
- Livewire / Alpine.js
- Filament
- MySQL landlord + tenant databases
- Redis / Laravel Horizon
- Stripe
- FastAPI crawler sidecar
- Python AI service
Get in touch
Have a SaaS build with more moving parts than a CRUD app?
Send the product, the current architecture and the next constraint. I can take on a subsystem, an integration or the technical build as a whole.
Most things start with a short email — info@pawon.dev. I usually reply within one working day.