Skip to content
LOCEN/Ontario · CAStandbyOK/--:--:--EST
M4M4RK_YUportfolio
  • Projects
    ProjectsOverview
    • WorkSelected case studies and write-ups
    • GamesPlayable prototypes and game-dev logs
  • Gallery
    GalleryOverview
    • ArchivePhoto collections and visual experiments
    • ShopPrints, posters, and one-off objects
  • Logs
    LogsOverview
    • BlogLong-form devlogs and field notes
    • NotesShort observations, links, snippets
  • Resources
    ResourcesOverview
    • Tools38 in-browser developer utilities
    • LinksDaily-use dev and design bookmarks
  • About
  • Contact
中文
← projects
AI tool · 2024Ready

Purecreate

A 3D apparel customizer that designs your shirt in real time and generates decals from a text prompt with DALL·E 3.

Role
Solo developer: 3D canvas, AI image route, reactive state, and the Next.js port.
Stack
Next.jsReactreact-three-fiberthree.jsValtioOpenAI (DALL·E 3)Tailwind CSS
Links
LiveSource
Purecreate 3D apparel customizer cover

Context

Problem

Designing custom apparel usually means clunky mockup tools or a slow back-and-forth with a designer — there's no fast, visual way to see an idea on the product and iterate.

Approach

Solution

A single Next.js app pairing a real-time react-three-fiber 3D garment canvas with DALL·E 3 decal generation: pick colors, type a prompt, and watch the design appear on a rotating shirt. It consolidates an older Vite + Express monorepo into one deployable app, with the OpenAI calls living in Route Handlers instead of a separate server.

Features

  • Real-time 3D garment customizer (react-three-fiber)
  • AI decal generation from a text prompt (DALL·E 3)
  • Live color and texture controls
  • Single deployable Next.js app — OpenAI in Route Handlers

Architecture notes

  • The 3D scene is dynamically imported (ssr: false) so heavy WebGL never blocks first paint.
  • OpenAI calls live in Route Handlers — no separate Express server, server-side key only.
  • Valtio holds reactive design state shared between the UI and the 3D scene.

Challenges

Outcome

A deployed 3D + AI customizer that turns a text prompt into a design on a rotating garment — and a clean Vite/Express → Next.js consolidation.

What I learned

Lessons learned

  1. 01Dynamically importing the 3D scene keeps a heavy WebGL app fast to first paint.
  2. 02Collapsing a frontend + API monorepo into one Next.js app removes a whole deploy surface.

Next steps

Next steps

  1. 01Add saved designs
  2. 02Support more garment types
  3. 03Tighten mobile 3D controls

Related work

AI tool

BioLoom

An AI-assisted bio generator that turns scattered identity notes into concise, platform-ready personal copy.

AI tool

AI Agent Toolkit

A Windows-first local AI coding toolkit — multi-agent workflows, Ollama automation, and developer dashboard utilities.

PreviousBloomprintTurns yard inspiration into a buildable plan — what to buy, how much, what tools, in what order, and what can go wrong.
Back to archive
NextUnreal Battle Royale PrototypeA UE4 battle-royale prototype built with Blueprints — inventory, weapon handling, and core match systems.
Back to archive
open channel·say hi anytime · 2026
--:--:--EST
get in touch

Saw something here?Tell me about it.

It's a portfolio, not a service · but I read every note — drop a line if anything here resonated, or just to say hi.

Start a conversation

Newsletter

Get the occasional dispatch

Notes and logs from m4rkyu.com — short, dated, no noise. Unsubscribe anytime.

Work

Production builds, games, and visual archives.

  • Projects
  • Games
  • Archive
  • Logs

Resources

Daily-use tools and a personal link library.

  • Search
  • Latest
  • Tools
  • Links
  • Notes
  • Topics
  • RSS
  • JSON feed
  • Shop

Studio

Background, contact, and channels for collaboration.

  • About
  • Contact
  • Changelog
  • Colophon
  • Resumepending

Socials

Find me on the usual feeds.

  • Facebooksoon
  • Instagramsoon
  • YouTubesoon
  • LinkedInsoon
M4RKYUM4RKYUM4RKYUM4RKYUM4RKYUM4RKYUM4RKYUM4RKYU
Crafted since 2024
ZhenXiao Mark YuZhenXiao Mark Yu
© 2026 ZhenXiao Mark Yu·Ontario, Canada
  • Email
  • GitHub
  • dev.to
  • LinkedIn (soon)
  • Twitter / X (soon)
  • Instagram (soon)
Built with Next.js 16 · React 19 · Tailwind 4

Built with Next.js 16 · React 19 · Tailwind 4