Work

Here is what I've built at Jwm.nyc. Anything with a link goes to the live site or demo.

Client work

Jordan McCullough website home page with a large portrait of the artist Jordan McCullough tour page listing upcoming show dates with ticket links

Website · E-commerce · Design and build

Jordan McCullough

jordanmcculloughmusic.com Role: Designer and developer

Jordan is the American Idol season 24 runner-up, and he was still on air when I built this site. His search traffic climbed every week the show ran. To capture that traffic, I uploaded the pages that people were searching for first, followed by the remaining pages afterward.

I coded the WordPress theme and structured the pages in a way that lets Jordan manage his own content. Every page has an email signup form, which sends an automatic welcome message to each new subscriber. Venues, festivals, and press request bookings through a structured form and download his press kit on the spot. Three domains he already owned now point to one address. The hosting handles the traffic spikes that follow each episode, and it includes a staging site (a private copy of the site for testing changes), daily backups, SSL, and a CDN (a network of servers that delivers the site from a location near each visitor). The current phase of the project adds a merch store and page-builder editing.

Trevor James website showing the artist name over a landscape photo and streaming links Trevor James website home page with the guitar hero image

Website · Design and build

Trevor James

trevorjames.music Role: Designer and developer Singer-songwriter

Trevor wanted a home for his music, and he also needed it to collect email addresses and take booking requests, which is the part most artist sites skip.

I designed the site, built it, and connected the mailing list and the form handling behind it. He receives the signups, and I keep the backend running. The site is a static build. This means that the pages are prebuilt files instead of pages generated on each visit, and this structure loads fast and costs him almost nothing to host.

Fun projects

JWM Raceway drag racing game launch, both cars leaving the line in tire smoke past packed grandstands Mid-race duel in JWM Raceway, the red car chasing the blue car down the tree-lined strip Both cars neck and neck at the checkered stripe under the finish banner in JWM Raceway

3D game · Three.js · WebGL

JWM Raceway

Role: Designer and developer One-button drag racing game

This is a one-button drag racing game, which puts you in a quarter-mile race against another car in the left lane. You wait for the green light, tap to launch, and then shift each gear as the revs swing into the shift zone. If you jump the start, the tree (the column of starting lights) flashes red, the same as at a real strip.

The cars look like toys, but the physics underneath are real. Engine torque, gear ratios, tire grip, and air resistance determine the outcome of every pass. This means that a clean reaction and sharp shifts win races. The timeslip at the end (the printed results a real drag strip hands to each driver) breaks down your reaction time, 60-foot time, and trap speed, and the game saves your best run. It plays on a phone as easily as on a desktop, without installing anything.

Real-time 3D product configurator showing a black hoodie with gold drawcords, a gold chest monogram, and color swatches for sleeves, panels, pocket, cuffs, and monogram thread Cart drawer capturing an all-black hoodie build with white drawcords, a white chest monogram, and a build code

E-commerce · Product configurator · Three.js / WebGL

3D Product Configurator

Role: Designer and developer Custom apparel demo

This is a real-time 3D product configurator, which lets a shopper design a hoodie by spinning it and coloring six zones independently (body and hood, sleeves, shoulder panels, the snap-flap pocket, cuffs and hem, and drawcords). The shopper can also add an embroidered monogram, and the price updates with every choice. When the shopper adds the hoodie to the cart, the app saves every selection with the order, along with a snapshot of the exact garment. The effect of this is that the store's production team receives precisely what to make.

The garment is a real 3D clothing model, which I compressed from a 50 MB studio export down to 2.2 MB. This compression lets it load fast and recolor instantly on anything from a phone to a shop-floor touchscreen. The same engine works for any product with parts to pick. For example, it could configure a jacket, a bike, or a piece of furniture.

Interactive 3D model of a hotel ballroom set for a New Year's Eve event, with numbered tables and a seating tier price panel

Interactive 3D · Three.js

3D Ballroom

Role: Designer and developer New Year's Eve seating concept

Nobody wants to buy an event ticket without knowing what they're paying for, and this is why I built the room in 3D. It's a hotel ballroom set for a New Year's Eve party, and you orbit it, zoom in, and tap any table to see its tier and price.

Each tier from Platinum down to Bronze has its own color across the floor. This color coding turns the gap between a $1,250 seat and a $350 seat into something you can see instead of something you have to read. The room runs in the browser on a phone, without a plugin or a download.

3D animation · Cinema 4D · After Effects

3D Modeling & Animation

Role: 3D artist and motion designer Showreel

This is a showreel of 3D modeling, lighting, and animation work, which I built in Cinema 4D, rendered with Arnold, and composited in After Effects.

This is the same skill set behind the interactive 3D work above. The ability to model and light a scene for a rendered film carries directly over to building one that runs live in a browser.

Chess app on a phone showing a live game between two players with video tiles above the board Chess app lobby screen with options to watch a live demo or start a real match

Real-time web app · WebRTC

Chess

Role: Designer and developer Face-to-face chess over live video

This is a web app where two people play chess in a browser while talking over live video and voice. There is nothing to install and no account to make. One player starts a game, the other joins with a short code, and the video connects directly between the two phones.

The board enforces every rule of chess, including the awkward ones. There is also a demo mode that plays itself if you'd rather watch than play.

World Cruise Shop home page with a sunset ocean hero and a voyage search panel World Cruise Shop voyage listing page with filters and sortable results

Website · Search and lead capture

World Cruise Shop

Role: Designer and developer Luxury cruise comparison concept

This is a search-and-compare site for world cruises, which run a hundred days and cost more than a car. You filter by cruise line, length, and budget, open any voyage for its itinerary, ports, ship, and fares, and then request pricing.

At that price a booking is a slow decision, and I designed the site to match it. For example, the pages have plenty of open space, real photography, and type that stays quiet.

Get in touch

Start a project

Send me a description of what you want built, or just the problem behind it. I'll come back with an approach, a price, and a date that you can hold me to.

  • I quote a fixed price up front.
  • I include two rounds of revisions.
  • You own the code and the files.
  • The first conversation is free.