A black-and-white one-page portfolio built with Next.js 16, React 19, GSAP, and Lenis.
- Large animated Harshul hero, a short intro, and one work button. No header.
- Rounded panels, self-hosted Manrope type, and original portrait/project media.
- Story, Octo CLI, Sup, Plex, skills, and GitHub contact.
- Scroll reveals, word-by-word story text, and parallax project previews.
- A circular desktop cursor that expands into selected project copy panels and links.
- Touch-native scrolling, keyboard skip/focus states, video controls, motion pause, and reduced-motion support.
No decorative hero circle, small chapter labels, captions, counters, tags, or divider lines. No new animation dependencies were added. The cursor is an original web implementation, not Reacticx's React Native component.
Use Node.js 20.9 or newer.
npm ci
npm run devnpm run lint
npm run build
npm run startapp/page.js: content and scroll animation.app/gooey-cursor.js: selective pointer morph.app/globals.css: responsive monochrome design.app/smooth-scroll.js: Lenis integration and cleanup.app/layout.js: layout and metadata.public/: original media and self-hosted fonts with licence.
Existing project URLs are retained. Sup's legacy URL opens an Octo-branded login; confirm its intended destination before deploying. No remote repository or live deployment was changed.
Apply the included patch on a new branch based on commit 5f5bb2fc55ee9a5256aea620f9941177e203159e, or use the complete source ZIP. Review and test before merging or deploying.