Tech Stack
WhatsMine is built on a modern, widely-supported and well-documented stack. If you can host a Laravel application, you can host WhatsMine.
At a glance
| Layer | Technology |
|---|---|
| Backend framework | Laravel 12 (PHP 8.2+) |
| Frontend | React 19 + Inertia.js 2 (a server-driven single-page app — no separate API needed for the UI) |
| Styling | TailwindCSS 3, with the Space Grotesk typeface |
| Build tool | Vite 6 |
| Database | MySQL 8+ (SQLite supported for local development) |
| Cache / Queue / Sessions | Database by default; Redis recommended in production |
| Real-time | Laravel Echo + Pusher (or self-hosted Laravel Reverb) |
| Authentication API | Laravel Sanctum (for the public REST API) |
| PDF generation | dompdf (invoices, reports) |
| 2FA | Google2FA (TOTP) |
Backend packages
The application leans on battle-tested Laravel ecosystem packages:
- laravel/framework 12 — core framework
- inertiajs/inertia-laravel — the bridge between Laravel and React
- laravel/sanctum — API token authentication
- laravel/reverb — optional self-hosted WebSocket server for real-time
- laravel/socialite — optional social login (Google, GitHub, Microsoft)
- stripe/stripe-php — Stripe billing
- barryvdh/laravel-dompdf — PDF invoices and reports
- pragmarx/google2fa — two-factor authentication
- minishlink/web-push — browser push notifications
- league/csv — contact import/export
- league/flysystem-aws-s3-v3 — S3-compatible file storage
- sentry/sentry-laravel — optional error tracking
- dedoc/scramble — automatic OpenAPI documentation for the REST API
Frontend packages
- React 19 + @inertiajs/react — the UI
- TailwindCSS + @headlessui/react — styling and accessible components
- @xyflow/react — the visual automation flow builder
- recharts — dashboards and analytics charts
- handsontable + exceljs — spreadsheet-style contact import
- laravel-echo + pusher-js — real-time updates
- react-i18next — translations on the frontend
- lucide-react — icons
- sonner — toast notifications
- firebase — optional push notifications
AI providers
WhatsMine speaks to large language models through a pluggable provider layer, so you can switch or mix providers:
- OpenAI (default; chat + embeddings)
- Anthropic (Claude) (chat)
- Google Gemini (chat)
For semantic search (RAG), it can use Qdrant as a vector database if configured, otherwise it falls back to an efficient in-database cosine similarity search — so it works with no extra services required.
What this means for you
- Standard hosting works. Any host that runs Laravel (shared hosting with PHP 8.2+, a VPS, or a managed platform) can run WhatsMine.
- No exotic dependencies. Redis, Pusher and Qdrant are all optional — sensible database-backed fallbacks ship by default.
- Fully customisable. Because it's plain Laravel + React, any Laravel developer can read, extend and maintain the code.
➡️ Next: Requirements and Installation.