A unified, single-domain platform that turns a software consultancy's scattered tools into one secure, role-aware system spanning lead generation, sales, project delivery, and client support.

Consultancies that rely on disconnected tools — email for inquiries, spreadsheets for leads, chat apps for project coordination — run into predictable, costly problems: No single source of truth, poor visibility into the sales pipeline, inefficient project tracking, and unprotected web forms drowning in spam. The brief was clear: build one platform that takes a visitor from "Request a Quote" all the way to a delivered, supported project — without ever leaving the system.
A unified, single-domain web platform built around three separate panels, each serving a distinct role: A Public Corporate Website for anonymous visitors to request quotes; an Internal CRM Dashboard for agency staff covering the full delivery lifecycle; and a Client Portal where clients log in to monitor their own projects. Each user type gets its own dedicated, isolated workspace, yet all three run on a single shared backend and database.
The public-facing surface for the consultancy — home, services, portfolio, and a 'Request a Quote' form that feeds leads directly into the CRM pipeline. The public endpoint is protected by anonymous rate-limiting and bot mitigation (Turnstile/reCAPTCHA) so only genuine inquiries reach the database.
A password-protected workspace for agency staff covering the full delivery lifecycle:
• Lead tracking with statuses (New → Contacted → Qualified → Converted)
• Automated lead-to-client conversion — flipping a lead to 'Converted' transactionally creates a client account, profile, and portal access in one step
• Client & project management with milestones, tasks, and assignees
• Task collaboration through threaded task updates
• Team performance and reporting views
A dedicated, isolated gateway where clients log in to monitor their own projects, submit support tickets, and download deliverables — with strict data ownership enforced at the database level.
Role isolation by design: Staff log in through a dedicated /admin/login gateway and land on the CRM Dashboard; clients log in through a separate /portal/login gateway and land on the Client Portal. Even though both call the same JWT endpoint, the frontend decodes each token's role claim to route the user to the correct panel — and the backend enforces it independently, so no role can ever reach another panel's data.
• Single-domain, decoupled architecture — React frontend and Django REST Framework backend unified under one domain to bypass CORS friction while keeping concerns cleanly separated.
• Role-based security at two layers — frontend React route guards mirror backend DRF permission classes. Even if a user manually edits a URL, the database rejects access with a 403 Forbidden.
• Dedicated authentication gateways — staff enter through /admin/login, clients through /portal/login. Both call the same JWT endpoint.
• JWT auth with short-lived access tokens and automated refresh cycling for secure session management.
• UUID primary keys across all CRM models to shield table scale and prevent record enumeration.
• Integrity-first data modeling — ON DELETE RESTRICT protects financially critical links, while transient children cascade cleanly with their parent project.
• Anti-spam by design — the public lead form is hardened with rate-limiting and bot-mitigation token validation before any write hits the database.
• One platform replaces an entire toolchain — leads, projects, tasks, and client communication now live in a single system.
• Zero cross-role data leakage by construction — strict gateway separation plus backend ownership queries guarantee a client can only ever see their own projects.
• Faster, safer lead acquisition — captured inquiries flow straight into a tracked pipeline, while bot traffic is filtered out.
• Frictionless lead-to-client conversion — what used to be a manual, multi-step process happens transactionally in a single status change.
• Real delivery visibility — admins can monitor workload, deadlines, and project health in real time.