Before Zovle · 004

Sleek Interio

Lead engine for an interior design studio

A lead platform for Diin Associations: a cost calculator that qualifies enquiries, more than fifty local search pages, and one dashboard for every lead.

Sleek Interio home page: a residential interior design studio site, headed 'Design the home like the home you've imagined'
Year
2026
Client
Diin Associations
Role
Design + build
Type
Lead-gen platform
Local SEO pages
50+
Calculator that qualifies
1
Apps, one monorepo
2
Dashboard for all leads
1

The situation

Diin Associations is an interior design studio that had nothing online to show its work. New business came from referrals and walk-ins. Meanwhile, homeowners in their own city were typing “interior designers near me” and “false ceiling cost” into Google every day and finding other studios.

What we built

A lead-generation platform under the Sleek Interio brand. Services told as visual stories, a cost calculator that produces a scoped enquiry, more than fifty area-specific pages for local search, and an admin dashboard where every lead arrives with its source and follow-up status.

What changed

Search demand now lands on pages built to receive it, and enquiries arrive with a budget and scope attached instead of “how much for interiors?” phone calls. The studio opens one dashboard in the morning and sees every lead, newest first, nothing lost to anyone’s inbox.

A calculator that qualifies the lead

A generic contact form collects vague enquiries. The Sleek Interio calculator asks visitors to price their own project, room by room and scope by scope, so each enquiry arrives with a budget, a scope and a phone number.

The public API behind it is rate-limited through Upstash Redis to limit automated submissions, every submission gets a confirmation email through Resend, and each request carries an ID through structured logs, so any lost submission can be traced.

More than fifty local search pages

Sleek Interio ships with more than fifty area-specific SEO pages, each one written for the service and locality a homeowner actually types: modular kitchen in one area, false ceiling in the next. Every page carries its own title, copy and structured data.

A portfolio grid shows finished spaces, from penthouses to office campuses, to visitors who arrive from a local search.

Every lead in one place

Calculator submissions and contact enquiries land in a Clerk-protected admin dashboard: total leads, what came in this week, which services people are asking for, and a follow-up queue.

Under it sits a versioned Express API with its data in Neon PostgreSQL through Prisma, with input validation and structured logging.

The fine print

A Turborepo monorepo with two apps and four shared packages. The Next.js 15 front end and the Express 4 API share TypeScript types, so a renamed database field fails the build instead of breaking a form.

  • Turborepo
  • Next.js 15
  • React 19
  • TailwindCSS
  • Express 4
  • TypeScript
  • Prisma 5
  • PostgreSQL · Neon
  • Clerk Auth
  • Resend
  • Upstash Redis
  • Vercel

Zovle today

Need this inside Jira or Confluence?

Zovle now builds apps for Jira and Confluence Cloud, and rebuilds the custom add-ons teams lose when they leave Data Center.

Builds
Forge apps for Jira and Confluence Cloud
Migrations
Custom add-ons rebuilt for Cloud
Quotes
Fixed price, agreed in writing