Teejay Interior
2026live

Teejay Interior

A luxury interior design landing page — built purely for the love of craft

View Live
Next.js 14TypeScriptTailwind CSS v4Framer Motion
01

Overview

Teejay Interior is a luxury interior design landing page designed and built from scratch as a personal creative project. No templates, no UI libraries — every section, transition, and spacing decision was intentional. The goal was to produce something that felt closer to editorial design than a typical web project, while keeping the code clean and the performance sharp.

02

The Inspiration

This one had no brief, no client, no deadline. Just me wanting to see how good a landing page could look when there was nothing stopping me from going all the way. Interior design as a domain felt like the right canvas — rich imagery, deliberate white space, the kind of visual hierarchy that rewards attention. I built it purely for fun, and honestly it reminded me why I got into this in the first place.

03

Tech Stack

Next.js 14

Even for a static landing page, Next.js gives clean routing, image optimisation out of the box, and a deployment story that takes seconds. No reason to reach for anything heavier.

TypeScript

Habit at this point — even on fun projects. Typed component props and data structures mean fewer surprises when you come back to the code a week later.

Tailwind CSS v4

The CSS variable-based token system in v4 made it easy to maintain a consistent visual language — the warm neutrals, the spacing rhythm, the typography scale — without writing a single custom CSS file.

Framer Motion

Smooth entrance animations and scroll-triggered reveals were central to the luxury feel. Framer Motion let me add those without wrestling with keyframes or Intersection Observers by hand.

04

Challenges & Solutions

The Problem

Getting the hero section to feel genuinely premium — not just "big image, some text" — without overcomplicating the layout or bloating the page weight.

The Solution

Used a full-bleed image with a carefully tuned gradient overlay, set the heading in a large display weight with tight letter-spacing, and let generous white space do the heavy lifting. The restraint was harder than the code.

The Problem

Scroll-triggered animations that felt smooth and intentional rather than gimmicky — the common failure mode for landing pages that try to be visually rich.

The Solution

Kept animations to simple opacity and translateY transitions with staggered delays. The rule was: if removing the animation makes the page feel flat, keep it. If it just draws attention to itself, cut it.

05

What I Learned

  • 01

    Building something with zero constraints is one of the best ways to sharpen your design instincts — you have to make every decision yourself, which means you have to actually justify it.

  • 02

    Luxury in web design is almost entirely about restraint: fewer elements, more space, slower transitions, less colour. The temptation to add more is always wrong.

  • 03

    Tailwind v4's design token system genuinely shines on design-led projects where visual consistency matters more than component reuse.

  • 04

    Fun projects are where you take the risks you won't take on production codebases — and that's where you actually learn the most.