Mike Chaves
Back to work

Web Development

Material Explorer

Material Explorer is a production-minded interactive web app for creating, comparing, and sharing physically based 3D materials in real time. Built with React + Three.js/React Three Fiber, it now includes autosave/restore, A/B compare, texture workflows, draft history, and shareable presets for rapid iteration.

TypeScriptReact 19Three.jsReact Three FiberVite 7Playwright
Client

Personal Project

Date

2026 (active)

Category

Web Development

Services

Product Design + Frontend Engineering / Interactive 3D Tooling / Developer Experience

GitHub Live / Reference

Situation

Signal

Overview

3D material creation and customization typically requires specialized knowledge and software, creating barriers for designers and developers who want to experiment with materials for their web-based 3D projects. Existing tools often lack real-time feedback or are too complex for quick iterations.

Signal

Challenge

How might we simplify the process of creating and customizing 3D materials for the web while providing immediate visual feedback in an intuitive interface?

Signal

Context

With the growing popularity of 3D on the web through libraries like Three.js and React Three Fiber, there's an increasing need for accessible tools that bridge the gap between technical implementation and visual design.

Task

Signal

Overview

The goal was to create a user-friendly web application that makes 3D material creation and customization accessible to both developers and designers. The application needed to:

Signal

Simplify Material Creation

by providing an intuitive interface for adjusting material properties without requiring deep technical knowledge.

Signal

Provide Real-time Feedback

through immediate visual updates as users modify material properties.

Signal

Ensure Cross-device Compatibility

by creating a responsive design that works well on various devices and screen sizes.

Action

01

Built a full PBR material lab

Implemented real-time controls for color, metalness, roughness, emissive, clearcoat, transmission/IOR, opacity, and texture-map channels with instant preview updates.

02

Shipped rapid-iteration workflows

Added draft autosave/restore, undo/redo history, compare mode, duplicate/randomize utilities, and draft JSON import/export to speed creative exploration.

03

Improved sharing and portability

Added shareable URLs for material state, JSON import/export, and GLB export options for better collaboration and reuse.

04

Hardened quality for ongoing delivery

Set up CI quality gates (format, lint, type-check, tests, build, bundle checks, Playwright e2e) and tightened release/README hygiene for maintainability.

Result

Signal

Faster iteration loops

Reduced friction for testing material ideas by combining real-time preview with autosave, history, and one-click power tools.

Signal

Portfolio-ready engineering signal

Demonstrates modern React/TypeScript architecture, 3D interaction design, and disciplined shipping practices in an actively maintained repo.

Signal

Better project communication

Live demo + GitHub source + structured project narrative make the work easier for recruiters and hiring teams to evaluate quickly.