12 / 15 PROJECT

Every project

Old Personal Portfolio

The first version of this site: a Next.js build with its content in Prismic, and Three.js with custom GLSL in the hero. Shipped December 2024.

Open itRead the source

The old site's hero: the name, and the shaded sphere beside it.
Dec 2024
shipped
Prismic
content, not the repo
GLSL
custom shader accents

The first version

A personal site on Next.js and React in TypeScript, with the content living in Prismic rather than in the repository. Tailwind and PostCSS handled the styling, Cloudflare handled image delivery, GSAP handled the motion, and Three.js put 3D on the page. It shipped in December 2024, it kept its own address at v1.jacksmith.me, and the source is public.

Content as slices

The architectural decision was Prismic with Slice Machine. The page is not one template with fields poured into it, it is a stack of slices, each one a component with its own content model, ordered in the CMS. Layout primitives are reused across them, and theming and content versioning come with the arrangement. Changing what the page says becomes a content edit rather than a deploy, which is the reason to do it that way.

The features list is precise about the 3D: custom GLSL shader accents.

Shaders as accents

The features list is precise about the 3D: custom GLSL shader accents. The hero pairs the name with one shaded sphere and a few floating solids, so the shaders are trim on a content site rather than the whole of it. Accessible keyboard navigation sits on the same features list, which is the less photogenic half of the same build and the half a hand-written shader tends to crowd out.

What replaced it

The current site, dated January 2026, makes a different argument: streaming chat on DeepSeek V4 Flash over a system prompt built from structured JSON context and project injection. The old one was not overwritten for it. It keeps its own subdomain, and the repository is public.

What it does

  1. Prismic driven content slices
  2. Custom GLSL shader accents
  3. Optimised image delivery via Cloudflare
  4. Reusable layout primitives
  5. Accessible keyboard navigation
  6. Theming & content versioning

Built with

  • Next.js
  • React
  • Typescript
  • Prismic CMS
  • Three.js
  • 3D Graphics
  • Tailwind CSS
  • PostCSS
  • Slice Machine
  • Cloudflare
  • Shaders
  • GSAP