An interactive portfolio built as a single scroll-driven 3D scene.
Live: christianmthomas.github.io
I'm Christian Thomas, a software engineer at Mercer University working across full-stack development and web design.
Rather than a page of screenshots, this portfolio is one continuous camera move you scroll through — an arcade-styled sequence that moves from an intro, through selected project work, into a character-select take on the disciplines I work in, and out to contact details. Every heading and link is real, selectable text layered over the canvas, so it stays readable and accessible even though the visuals are WebGL.
Built with Next.js, React Three Fiber, and Tailwind CSS, in TypeScript.
| Project | What it is |
|---|---|
| SpidrApp | Full-stack web application |
| TimeNest | Scheduling and time management |
| PickPredictrAi | ML-backed prediction app |
| MafiaMadness | Multiplayer social game |
Requires Node.js 22+.
npm install
npm run devThen open http://localhost:3000.
| Command | Purpose |
|---|---|
npm run dev |
Development server |
npm run build |
Production build (static export to out/) |
npm run lint |
ESLint |
npm run smoke |
Assertion suite for the motion and layout logic |
Pushing to master builds and publishes to GitHub Pages automatically via
GitHub Actions. The site is a static export, so it needs no server.
- Email: christhomas0634@gmail.com
- LinkedIn: christian-thomas
- GitHub: @ChristianMThomas
© Christian Thomas. Code is available to read; the design, artwork, and written content are not licensed for reuse.