Prolite: a content-driven lead engine for a corporate experience agency
How we designed and built a custom Django platform that lets Prolite run its website, landing pages, SEO and sales pipeline from one dashboard, without needing a developer for everyday changes.
One platform for marketing, content and sales
Prolite needed more than a brochure website. It needed a system that could publish many targeted pages, rank for them, capture enquiries from HR leaders, and help the sales team follow every lead through to a decision. JMDA built that system end to end.
- Client
- Prolite Ent Pvt Ltd, Corporate Arena, Goregaon West, Mumbai. Positioned as a “Global Employee Experience Partner” serving HR teams across India and in the UAE, Singapore, Sri Lanka, Vietnam and Thailand.
- Engagement
- Strategy, information architecture, UI build, back-end development, content-management dashboard, CRM, SEO framework, deployment and ongoing support.
- Platform
- Python · Django 5.2 · PostgreSQL · Bootstrap 5 · server-rendered templates · Gmail SMTP notifications.
- Users
- Website visitors (HR and admin leaders), Prolite's marketing team, sales team, management and hiring team.
- Live at
- www.prolitee.com
Figures in this section are counted directly from the delivered codebase.
Prolite: making culture a company's signature move
Prolite designs workplace experiences for corporate HR teams, from offsites and award nights to culture launches and employer-branding campaigns. Its positioning is “Proactive, Progressive and Proudly People-first”, backed by more than ten years of delivering people-first experiences.
What Prolite sells
| Service line | What the client buys | Typical buyer need |
|---|---|---|
| Offsites, Rewards & Recognition | Corporate offsites, leadership retreats, R&R events and destination experiences | Align and reward teams |
| Corporate Events | End-to-end event and MICE management for conferences, launches and celebrations | Flawless large-format events |
| Team Building | Signature activities such as Bomb Squad, Squid Games, Everest Challenge, Drum Jam and AR/VR escape rooms | Collaboration and energy |
| Culture Launch & Strategy | Launching and embedding company values, culture journeys and engagement calendars | Make values real |
| Employer Branding | Campaigns and content that position the company as a great place to work | Attract and retain talent |
How Prolite wins business
- 1Discovery
HR and admin leaders search for “team building in Mumbai”, “corporate offsite” or a specific activity, or arrive from LinkedIn and Google Ads.
- 2Enquiry
They request a personalised quote with team size, date and goals. Every deal is consultative and custom-priced.
- 3Follow-up
The sales team qualifies the lead, follows up over days or weeks, and closes or archives it.
A marketing-heavy business on a developer-dependent website
Prolite's offer is broad, visual and constantly changing: new activities, new events to show off, new cities, new blog posts. Every one of those changes needed to reach the website fast, look on-brand and help search rankings.
Content changed faster than developers could keep up
Banners, case studies, testimonials, client logos, FAQs and impact numbers change every month. Each change needing a developer meant delays and cost.
One page could not rank for every search
Buyers search by service, by activity and by city. Prolite needed dozens of focused pages, each with its own copy, FAQs, gallery and schema, without building each one by hand.
Leads arrived from many places, with no single view
Enquiries for different services had to be captured, tagged by source and seen by the right people immediately, then followed up consistently.
Spam diluted the real enquiries
Public quote forms attract bots and junk submissions that waste sales time and pollute reports.
SEO needed to be controlled by marketing
Meta titles, descriptions, canonical URLs and structured data had to be editable per page by the marketing team, not baked into code.
Hiring ran through email
Prolite wanted job posts on the site and applications stored in one place. Open positions and CVs were scattered.
Give Prolite's own team full control of the website and its pipeline, and engineer the platform so that new pages, new cities and new activities can be added in minutes.
A custom Django platform with three faces
JMDA built a single Django application with a public website, an “Offline Dashboard” for the Prolite team, and a CRM, all sharing one PostgreSQL database, so every change in the dashboard is live on the site instantly.
Public website
Home · 5 service pages · 12 activities · city landing pages · blogs · careers · SEO files. Used by HR & admin leaders.
Offline Dashboard
CMS for every section · SEO & schema editor · CRM · follow-ups · exports · hiring. Used by marketing, sales and HR.
Users & roles
Mobile-number login · role-based access.
Data, media & email
PostgreSQL (content + leads, 125 models) · media store (images, videos, CVs) · SMTP email for instant lead alerts.
Design principles we followed
Every section is data, not code
Each visible block of each page (hero banner, impact numbers, client logos, FAQs, galleries) is backed by its own model with add, edit and delete screens, plus a sequence field so the team controls the order.
SEO fields everywhere
Services, blogs, activities and landing pages carry their own meta title, description, keywords, canonical URL and JSON-LD schema, and every image has an editable alt text.
Smart defaults, fewer mistakes
Slugs are generated automatically and kept unique, titles are formatted consistently, and YouTube links are converted to embeds, so non-technical editors cannot break a page.
Leads are tagged at the source
Each form posts to its own endpoint, so every enquiry is stored with the service it came from and routed to the right inbox.
What we built, module by module
The platform is organised into nine functional modules. Together they cover the full journey from a Google search to a closed deal.
01 · Public website
A fast, server-rendered, mobile-responsive website built on Bootstrap 5, with a full-screen video hero, a “Get Quote” call to action on every page and a consistent purple-and-orange Prolite identity.
| Page type | URL pattern | What it does |
|---|---|---|
| Homepage | / | Hero video, “Trusted by” client strip, services, about, “Our Edge”, snapshots, impact counters, testimonials, quote form, blogs, case studies, FAQ |
| Service pages | /service/<slug> | One rich template per service line, each pulling its own banners, themes, activities, videos and FAQs |
| Activity pages | /activity/<slug> | 12 signature experiences, each with a tailored template and its own SEO and schema |
| City landing pages | /<service>-in-<city>/ | Location-specific pages generated from the dashboard (module 04) |
| Content & trust | /blogs, /blog/<slug>, /casestudy, /testimonial, /gallery/ | Thought leadership, proof of work and social proof |
| Company | /about-us, /career, /contact-us, /prolite-faq, /engagementcalendar | Story, hiring, contact details, FAQs and an engagement-calendar guide |
| Machine-readable | /sitemap.xml, /robots.txt, /llms.txt | Search-engine and AI-assistant discovery files |
02 · Content management dashboard
The “Offline Dashboard” is a private, login-protected admin built specifically for Prolite's content. Instead of a generic page builder, every section of the website has a purpose-built screen with exactly the fields that section needs.
Homepage
Banners · services · “Our Edge” · impact numbers · client logos · case studies · testimonials · blogs · FAQs · YouTube showcase
Service pages
Hero banners, themes, popular activities, “how we do it”, destinations, formulas, “why choose us”, real-moment videos, per-service FAQs
Company
Contact details and social links, job titles, team-strength options, locations, open positions, users and roles
03 · Service and activity page engines
Each of the five service lines is linked to its own template and content models. The Team Building engine goes a level deeper: every signature activity is a record with its own slug, description, imagery, SEO fields and schema, mapped to a dedicated, custom-designed template.
04 · Location landing-page engine
To rank for local searches such as “team building in Mumbai” or “corporate offsite in Bengaluru”, we built a landing-page generator. The marketing team adds a city once, then creates a page by choosing a service and a location.
How a page is created
- The editor picks a page name (e.g. “Team Building”) and a city.
- The platform builds the URL automatically:
team-building-in-mumbai. - The page is rendered from one of five page engines (general, Offsite, Corporate, Culture and Employer Branding) chosen from the page name.
- Deleting a city cleanly removes its pages too, so no orphan pages are left behind.
Sections on every landing page
Hero banner with rank badge · “delivering impactful” proof · event types · activity lists · custom-built programmes · in-demand activities · why organisations invest · ratings section · team design · plan-your-event steps · gallery · contact block · head-office details · FAQ with schema. Around 15 editable sections per engine: 76 data models across the five engines.
05 · Blog and knowledge hub
Blogs are full SEO assets: each post has a heading, category, author, publish date, cover image with alt text, an auto-generated slug, and its own meta title, description, keywords and canonical link. Editors can attach multiple JSON-LD schema blocks and a list of FAQs to each post, so posts can qualify for rich results in Google. Long-form descriptions support Markdown through a custom template filter.
06 · SEO and discoverability suite
| Capability | How it works on the platform |
|---|---|
| Per-page meta control | Meta title, description and keywords editable for services, blogs, activities and landing pages |
| Canonical URLs | Stored per service and per blog to prevent duplicate-content issues |
| Structured data (JSON-LD) | Organization and LocalBusiness on every page; FAQPage and BreadcrumbList on key pages; unlimited custom schema blocks per service and per blog, managed in the dashboard |
| Open Graph | Title, description and image for rich previews on LinkedIn, WhatsApp and other social channels |
| Crawl files | sitemap.xml and robots.txt served by the application |
| AI-search readiness | An llms.txt file describing Prolite for AI assistants and answer engines |
| Image SEO | Editable alt text on every uploaded image |
Every page asks for a quote, and only real enquiries get through
Every page offers a way to ask for a quote: a site-wide pop-up form, an inline form on the homepage and contact page, and service-specific forms with extra fields such as programme, duration, location and number of participants. Each form posts to its own endpoint so the lead is tagged with its source.
Ten layers of protection on the main enquiry form
| # | Layer | What it stops |
|---|---|---|
| 1 | Hidden honeypot field | Bots that fill in every field they find |
| 2 | Time trap (3 seconds) | Scripts that submit instantly after the page loads |
| 3 | Input cleaning & length limits | Oversized or malformed data reaching the database |
| 4 | Email validation + disposable-domain block | Fake and throwaway addresses (Mailinator, Yopmail and others) |
| 5 | Phone normalisation (10–15 digits) | Invalid numbers; country codes are stripped to a clean 10-digit number |
| 6 | Link detection | Spam that pastes URLs into name, company or message |
| 7 | Gibberish detection | Random strings in both name and company fields |
| 8 | Rate limiting | More than 3 submissions per IP per hour, or repeat submissions from one email within a day |
| 9 | Range checks on optional fields | Unrealistic attendee counts and invalid dates |
| 10 | Silent rejection | Blocked bots see a normal thank-you page, so they learn nothing; the reason is logged for the team |
Leads do not stop at the inbox
The dashboard gives Prolite's sales team a simple, purpose-built CRM, plus tools for hiring and for working with the development team.
Lead management
- Website enquiries list with every field captured, source tag and timestamp; bulk delete for clean-up
- Lead records with company, location, job title and team strength (from managed drop-down lists)
- One-click status change between Active and Closed
- Separate views for active leads, closed leads and the full client record
Follow-up discipline
- Every follow-up records who made it, the remark, the last follow-up date and the next follow-up date
- A running follow-up count on each lead
- Dashboard tiles: today's new leads, active leads, closed leads, testimonials
- Excel exports of all, active or closed leads, each with a second sheet listing every follow-up
Careers
The HR team posts open positions with a description and downloadable job-description file. Candidates apply with a CV upload and a message; every application is stored with its position in the dashboard.
Users & roles
A custom user model with login by mobile number, email, profile fields and roles. Managed roles control who can use the dashboard, and names are formatted automatically while keeping acronyms such as HR and IT intact.
Change requests
A built-in task tracker lets the Prolite team raise website change requests with screenshots, and lets developers move them from pending to completed and closed: a direct line between client and developer.
Business logic highlights
| Rule | Why it matters to the business |
|---|---|
| Auto-generated, unique slugs | Editors never type URLs; duplicates get a numbered suffix, so pages never collide |
| Location-aware page URLs | “Service in city” URLs are built from the page name and city, matching how people search |
| Acronym-aware title formatting | Titles stay consistent (“Offsite & R&R”, “MICE”) without manual fixing |
| Source tagging on every lead | Shows which service and which page generates enquiries |
| Service-specific email alerts | Each service-page enquiry is emailed instantly with all details, so sales can respond the same day |
| Display ordering by sequence | Marketing decides which testimonial, client or FAQ appears first |
| YouTube link normalisation | Any “watch” link pasted by an editor is converted into an embeddable video |
| Cascade-safe deletes | Removing a city removes its landing pages; leads with follow-ups are protected from accidental deletion |
Data model and technology
125 data models organise Prolite's content and pipeline. Most of them power the landing-page engines, which is what lets marketing launch a new city page without any code.
| Where the 125 models sit | Models |
|---|---|
| Location landing-page engines (×5) | 76 |
| Service-page content | 22 |
| Homepage & shared sections | 9 |
| Leads, CRM & lead options | 6 |
| Blog & SEO schema | 4 |
| Media & galleries | 3 |
| Company, services & locations | 3 |
| Careers | 2 |
Plus a custom User and User Role model in the separate user app.
| Layer | Technology | Role |
|---|---|---|
| Back end | Python, Django 5.2 | Application logic, routing, ORM, authentication, admin |
| Database | PostgreSQL | Content, leads, follow-ups, users |
| Front end | Django templates, Bootstrap 5.3, vanilla JavaScript | Responsive, server-rendered pages; sliders, counters, CAPTCHA, modals |
| Icons & type | Font Awesome, Bootstrap Icons, Montserrat, Raleway | Brand typography and iconography |
| Content | Markdown filter, rich media uploads | Editor-friendly long-form text, images, videos, PDFs, CVs |
| Notifications | SMTP email (Gmail) | Instant lead alerts with all form details |
| Reporting | Excel export (openpyxl) | Lead and follow-up reports for management |
| Analytics & ads | Google Tag Manager, Google Ads tag, Microsoft Clarity | Campaign tracking and behaviour analytics on selected landing pages |
What the platform changed for Prolite
The result is a website Prolite's own team runs day to day (publishing, optimising and following up on leads) with JMDA as the technology partner behind it.
Marketing independence
Every banner, number, logo, testimonial, FAQ, blog and video on the site is managed from the dashboard. Routine updates no longer wait for a developer.
Pages at the speed of campaigns
A new “service in city” landing page, with a hero, activities, gallery, FAQs and schema, is created by choosing a service and a city, not by commissioning a new build.
Built for search and AI discovery
Five service pages, twelve activity pages, city pages and blog posts each carry their own meta data, canonical URL and structured data, plus a sitemap and an llms.txt for AI assistants.
Cleaner, better-qualified leads
Leads arrive tagged with their source and with team size, date and goals. Ten layers of filtering keep junk submissions away from the sales team.
A pipeline, not an inbox
Status tracking, next-follow-up dates and Excel reports give management visibility into every open conversation.
Hiring in one place
Job posts and CV applications live on the same platform, so the HR team no longer chases applications across email threads.
Roadmap: the next phase
| Workstream | Planned improvements |
|---|---|
| Page speed | Lazy-loading of images, non-blocking fonts and styles, and web-optimised video (720p, compressed, with poster images), already prototyped and tested against the live templates |
| Production infrastructure | Gunicorn application server behind Nginx, with static and media files served through a cache and CDN, and gzip/Brotli compression |
| Security hardening | Credentials moved to environment variables, a full access-control review of dashboard actions, and automated dependency updates |
| Platform consolidation | Merging the five landing-page engines into one configurable engine, so a new section is added once and appears everywhere |
| Sales insight | Lead-source and conversion dashboards, follow-up reminders, and unified routing of every enquiry into the CRM |
What JMDA brought to the project
Business-first discovery
We started from how Prolite actually wins clients (search, credibility, enquiry, follow-up) and designed every module around that journey.
Custom software, not templates
A purpose-built Django platform with 125 data models and 340+ dashboard actions, shaped to Prolite's services, activities and sales process.
SEO and marketing engineering
Structured data, location landing pages, editable meta data and AI-search files built into the core, not bolted on.
Long-term partnership
An in-dashboard change-request tracker, continuous improvements and a clear roadmap for performance, security and scale.
Planning a platform like this?
If your website needs to publish fast, rank locally, capture qualified leads and hand them to your sales team, we would be glad to show you how we built Prolite's platform.
Prolite, the Prolite logo and client names are trademarks of their respective owners and are used here to describe work delivered by JMDA Analytic Pvt Ltd for Prolite Ent Pvt Ltd. Technical figures are taken from the delivered codebase.