This project shows how 91Technologies modernises an existing product without disrupting the business: same look, same URLs, same workflows — on a faster, typed and easier-to-extend platform.
The challenge
The company’s website, admin panel and internal sales CRM ran on an older Laravel/PHP/MySQL application. It worked, but the owner wanted a modern, faster stack that the business could build on — without changing what staff and customers already knew.
- Exact parity. The brief was “same design, same features” on a new technology stack.
- Everything manageable from the CMS. The team wanted to change content without calling a developer.
- Honest content. The site should show only real, provable facts — no invented numbers or placeholder projects.
- A safe migration. Live data, uploads and private files had to move without loss, and the old system had to be removed only after a verified backup.
- A sales tool, not just a website. The CRM, quotations and document library had to keep working.
Our solution
We re-platformed the product to Next.js, Node.js and PostgreSQL in a way that preserved every page, form and workflow.
- Converted, not redrawn. A custom tool converted the original templates to React so the interface stayed identical.
- A typed API. A Node.js/TypeScript API rebuilt validation, permissions, numbering, email, AI chat and CRM rules endpoint by endpoint.
- Verified migration. Data and files moved to PostgreSQL, parity was checked, and the old stack was retired after a verified backup.
- Content clean-up. Real portfolio items replaced placeholders, and unverifiable claims were removed.
- New capabilities. An AI assistant, cost estimator, popups and landing pages were added on the new foundation.
What we built
Public website
Services, portfolio, blog, careers, internship, partner and contact pages, an office map and city landing pages — all editable.
Admin CMS
19 modules covering pages, services, blog, jobs, testimonials, logos, project slides, navigation, SEO and leads.
Sales CRM
Leads in a nine-stage pipeline with dashboards for sales and management.
Quotations & estimates
Create quotations and estimates, print them and share them with customers through public links.
Gated document library
Sales presentations and documents available only to signed-in sales users.
AI chat assistant
A website assistant that answers visitor questions, grounded in facts the company approved.
Cost estimator
An interactive estimator that turns a visitor’s requirements into an indicative project cost.
Careers & internships
Job listings and applications handled in the same CMS and lead inbox.
Roles & permissions
Staff accounts with role-based access to CMS and CRM areas.
SEO & structured data
Sitemap, JSON-LD, clean URLs and per-page SEO controls.
Results & achievements
- Rewrote the whole product on a modern stack while keeping the same design, URLs and CMS behaviour, so visitors and staff saw no disruption.
- A purpose-built converter turned the original templates into React components, so markup, styling and behaviour stayed identical instead of being redrawn by hand.
- Migrated the data and uploaded files from MySQL to PostgreSQL, verified every table, then retired the old PHP stack only after a verified backup.
- Cleaned up the content: replaced placeholder portfolio entries with real projects and removed claims the company could not prove, so only facts it can stand behind are published.
- An admin CMS with 19 modules — pages, services, blog, jobs, testimonials, client logos, project slides, SEO, leads, newsletter, users and roles, and nine settings tabs.
- A Sales CRM with a nine-stage pipeline, a gated document library, quotations, estimates, public share links and print views.
- An AI chat assistant and a cost estimator built into the site, with spam-protected forms, popups and city landing pages.
- SEO carried over intact with a sitemap, structured data and clean URLs.