Laravel + Vue.js: how we build panels, CRMs and B2B apps
A custom CRM does not have to look like a 2010 relic. Laravel gives a solid backend and API, Vue.js a fast, modern UI. That is how you get systems teams actually use every day.
A ready-made CRM promises “everything”. In practice the team still keeps the truth in Excel because the fields do not fit and a report needs three exports. A dedicated Laravel + Vue.js panel reverses that: company process first, screens second. The UI is as simple as real work allows — not the other way round.
An architecture that holds up
The Laravel backend exposes a REST API. Vue.js (Vite, Pinia) is the panel frontend: tables, filters, forms, dashboards. The same API can then serve an Android app, another system or a store on a separate domain. We do not duplicate logic in three places.
On the server: Nginx, PHP 8, MySQL or PostgreSQL, Redis for cache, sessions and queues. Heavy work — PDF generation, mail, importing 20,000 SKUs — goes to a queue instead of blocking a click. It is the same stack we describe under technologies.
What we most often build in this stack
- CRM: customer records, opportunities, tasks, contact history, team permissions.
- B2B panels: individual price lists, wholesale orders, invoices, delivery statuses.
- Bookings and schedules: resources, staff, email/SMS notifications, calendar sync.
- Warehouse and dispatch notes: stock, locations, Android scanner, minimum alerts.
- Customer portals: tickets, documents, payments, job status.
Roles that match the company
The owner sees margin. Sales sees their customers. Warehouse sees dispatches. Accounting sees documents. Laravel policies enforce this on the API, not only by hiding a button. The same API will reject a clever call from another browser.
Reports that do not hurt the database
A live dashboard computes what it must. Heavy daily/weekly reports land in Redis or an aggregate table, refreshed by a background job. The panel does not crawl on Friday afternoon when everyone clicks “export to Excel”.
What the project looks like from the inside
- Process analysis and screen sketches — before we write the data model.
- A prototype of the key flow (e.g. from enquiry to invoice).
- Staged development with a preview on a test environment.
- Tests, permissions, backups, SSL, deployment on the client server.
- Git handover, 6 months of warranty, optional maintenance.
Examples of the systems we build this way are in inspirations. If you see something close to your company — or you do not, and that is the point — describe the process you want to automate. A quote in 24 hours, no obligation.
Describe your project