All work Mehtab Hussain
Case studyAI-assisted buildPrompt engineering

KINETIQ: a 3D e-bike website, built by prompting Claude

I directed Claude Code like a design team: I briefed it, answered its questions, gave it references and reviewed every build. In one day, with about two hours of hands-on prompting, that produced a working React and Three.js site with six 3D bikes you can take apart, light up and ride.

Try the live siteWhat Claude got wrong
Role
Solo designer, directing Claude
Built with
Claude Code
Stack
React · Vite · Three.js
Timeline
One day · ≈2 h hands-on
KINETIQ home page: the headline Motion, reengineered beside a black 3D e-bike with its headlight beam on, over a purple glow, with range, speed and power figures
Overview

How far can a designer take a 3D product by directing AI?

KINETIQ is a fictional e-bike brand for Pakistan’s roads. I used it to test how far clear direction gets you when Claude writes all of the code.

Goal

A product showcase for six e-bikes, with real-time 3D, a range calculator, a compare table, a bike finder quiz and test-ride booking. Bold and playful, but believable as a real product, not a template.

My part
  • Brief, scope and every product decision
  • Reference images and visual direction
  • Design review after every build
  • Motion, lighting and interaction details
Claude’s part
  • Discovery questions before any code
  • React, Three.js and CSS, about 5,000 lines
  • Bikes modelled in code, sounds made in code
  • Checking each build in a browser
Hands-on time≈2 hTwo sessions on one day: 10:22–11:35 and 14:17–15:11
Prompts from me15Plus 2 reference images, a product photo folder and 1 screen recording
Discovery questions13Claude asked them before writing code
3D model files0Every bike is built from code
Prompt engineering

Six habits that turned prompts into product decisions.

These are my actual prompts. I tidied the spelling but kept the wording. None of them are long; they work because each one does a single, clear job.

01 · Interview first

Let Claude ask before it builds.

I didn’t write a long spec. I asked Claude to interview me one question at a time, so each requirement got a decision before any code existed.

My first prompt

I want to create a website for e-bike which have multiple variants. For design an interactive website ask me questions 1 by 1 which you require.

02 · Show, don’t describe

Use references in place of adjectives.

Words like “realistic” or “premium” mean something different to everyone. A photo or a product folder leaves no room for that.

With a reference photo

Yes, real models of e-bikes, just like the attached image.

With a folder of product shots

In the attached folder I have added a few product pictures. Can you update the products on the website just like them, but in a 3D look?

03 · Critique like a design review

Name the flaw and why it breaks the illusion.

The first bikes looked stylish, but an e-bike without a battery isn’t believable. Pointing to the missing part fixed realism across all six models.

Review note

The bike you used, where are the batteries? Is it a realistic 3D model? I think not.

04 · Explain it in physical terms

Describe how it works in the real world.

I didn’t talk about shaders or cone angles. I described where a real headlight’s beam starts and how wide it is, and Claude worked out the 3D maths.

Lighting fix

The light beam does not come from the light. The light beam comes from the front wheel tyre.

Follow-up

The light’s starting output point is narrow. I think it should be approximately the light’s diameter.

05 · Script the motion

Describe the animation as a sequence.

Small, ordered beats are easier to build and check than “make it feel alive”. Each beat became its own piece of behaviour.

Ride mode

When the ride starts, the stand of the e-bike should go up.

Speedometer

When the ride starts, show the speed going up gradually, and when the ride stops it gradually comes down.

06 · Bring evidence

Report bugs with a recording.

“It flickers” is hard to act on. A screen recording showed exactly when and where the header animation stuttered.

With a screen recording

Check this video. The header animation is not running properly in the header and in the 02 — Explorer section.

Discovery

13 questions before a line of code.

Claude ran the kickoff workshop and I made the calls. These are the key answers, and they became the spec it built against.

What is the main goal of the site?Product showcase
How many variants?4–6 bikes
Brand name?Make one up → KINETIQ
Visual style?Bold & playful
Interactive features?Colours, compare, finder, range
Main call to action?Book a test ride
How should the 3D work?Real-time 3D
Which variants?Suggested 5, later 6
Prices and currency?PKR
Site structure?One cinematic scroll
Finished form?Vite + React project
Iterations

From neon toy to believable product.

The first build worked on the first try but didn’t look real. Each review round fixed one thing: realism, then likeness, then the details.

First build: a stylised neon purple bike with a glowing frame behind the headline
v1 · 10:51

First build: all six sections working, but the bikes were stylised and had no batteries.

Second round: a chunky blue moped-style e-bike with a rear basket, modelled after a reference photo
v2 · 11:11

After the reference photos: real proportions, fat tyres, visible batteries and baskets.

Final build: the Ridge scrambler in the 3D explorer with a green frame, red shock and spec list
Final · 15:11

Rebuilt from the product photos, with tuned lighting, ride physics and sound.

Reference product photo: a black fat-tyre scrambler e-bike on a white background
One of the product photos I gave Claude as a reference.
The Ridge rebuilt in 3D in the same scrambler shape, with its headlight beam on
The same bike rebuilt in code as an interactive 3D model.
Where Claude fell short

It checked that the code ran. Whether it looked real was my call.

Claude tested every build in a browser before handing it back. None of these problems showed up as errors, so each one needed a designer to spot it.

10:57 · Realism

E-bikes with no batteries.

The first six bikes rendered cleanly and passed Claude’s own checks, but none had a battery. A reference photo fixed it.

11:27 · Consistency

Two models still looked fake.

After the realism pass, Breeze and Breeze Max still looked like toys. They needed a second, targeted review.

11:35 → 14:37 · Performance

A bug that came back.

The header animation jerked and flickered. A written report wasn’t enough, so I sent a screen recording that showed exactly where it happened.

14:46 · Physics

Light from the wrong place.

The headlight beam started at the front tyre and was too narrow. It took two notes to get its origin and width right.

Prompt log

Every prompt, in order.

Fifteen messages over one day. Times are local. Most prompts are one sentence, and the quality came from the review loop, not from long prompts.

Show all 15 prompts
  1. I want to create a website for e-bike which have multiple variants. For design an interactive website ask me questions 1 by 1 which you require.Started the discovery interview.
  2. Yes, start. One question: do I need Vercel and Git for this?Approved the plan and checked the setup I’d need.
  3. The bike you used, where are the batteries? Is it a realistic 3D model? I think not.First design review: the models needed to be believable.
  4. Yes, real models of e-bikes, just like the attached image.Added a reference photo.
  5. Make this type of model. It is an example.Added a second reference.
  6. Breeze and Breeze Max are not looking real. Add a realistic feel.Targeted review of two models.
  7. In the header the animation is not running properly; it jerks and flickers.Performance bug report.
  8. In the attached folder I have added a few product pictures. Can you update the products on the website just like them, but in a 3D look?Rebuilt the line-up from real product photos.
  9. Check this video. The header animation is not running properly in the header and in the 02 — Explorer section.Bug report backed by a screen recording.
  10. The light beam does not come from the light. The light beam comes from the front wheel tyre.Lighting accuracy.
  11. The light’s starting output point is narrow. I think it should be approximately the light’s diameter.Beam shape refinement.
  12. 02 — Explorer: when the ride starts, the stand of the e-bike should go up.Ride animation detail.
  13. When the ride starts, show the speed going up gradually, and when the ride stops it gradually comes down.Speedometer easing.
  14. In the header, if we press the mouse the e-bike starts running.Press-and-hold to ride in the hero.
  15. 01 — The lineup: the product images are not good. Can you update them?Final polish of the line-up cards.
The result

Take it apart. Light it up. Ride it.

The 3D explorer is the heart of the site. Lights on, then Ride: the stand lifts, the wheels spin and the speedometer climbs, then eases back down when you stop.

01 · Explorer

An exploded view with labelled parts.

Take apart spreads the bike into its main parts, each labelled with its spec: hub motor, battery, frame, suspension, wheels and cockpit. Drag to rotate, scroll to zoom.

Exploded 3D view of the Ridge with labels for hub motor, rear wheel, rear suspension, battery, frame, bench seat, cockpit and front wheel
02 · Range calculator

Range you can actually expect.

Rider weight, assist level and terrain update the estimate live and turn it into everyday terms: days of commuting per charge, with every bike compared.

Range calculator with a rider weight slider, assist and terrain choices, and an estimate of 84 km for the Ridge
03 · On a phone

The same site on a phone.

Every section stacks to one column. The bike picker scrolls sideways, the price and colours sit above the 3D model, and the calculator controls are big enough to tap.

Open it on your phone
Phone view of the 3D explorer: a sideways-scrolling bike picker, the Ridge at PKR 395,000 with colour swatches, and the green 3D model below
Phone view of the range calculator with a rider weight slider, assist and terrain buttons, and an 84 km estimate
Phone view of the bike finder, question 1 of 5: where will you ride most?
Key screens

One cinematic scroll, seven sections.

Under the hood

Real code, not a mock-up.

It’s a real Vite project, and the production build runs on this site. Claude chose the stack after I picked “Vite + React” in discovery.

3D

React Three Fiber

Three.js through React, with drei helpers and post-processing for glow. The bikes are built from code, not from model files.

Sound

Web Audio API

Motor hum, clicks and the light switch are all made in code, so the site ships no audio files.

App

React 19 + Vite

29 source files, about 5,000 lines: sections, a shared store, a currency switch and scroll reveals.

QA

Browser-checked

Claude opened each build in a browser, took screenshots and fixed what it found before handing it back to me.

What I learned

AI writes the code. Design judgement still sets the bar.

01

Ask to be asked.

Thirteen questions up front cost a few minutes and saved hours of rework. It’s the same reason we run a kickoff.

02

References beat adjectives.

The biggest jump in quality came from one folder of product photos, not from a better-written prompt.

03

Review like a design lead.

Short, specific notes about what feels wrong and why moved the work further than any long instruction did.

04

“It runs” isn’t “it’s right”.

Claude was good at checking its own code and blind to what looked wrong. Taste, realism and feel still need a person.

Next case study Enterprise Product Transformation