Port portfolio from Next.js/React to SolidJS #4

Merged
GoranSalzmann merged 2 commits from cursor/port-solidjs-8e23 into main 2026-06-16 09:10:11 +02:00
GoranSalzmann commented 2026-06-16 01:52:37 +02:00 (Migrated from github.com)

Summary

Ports the entire portfolio app from Next.js 16 + React 19 to SolidJS with Vite and @solidjs/router.

What changed

  • Framework: Replaced Next.js App Router with Vite + SolidJS SPA routing
  • Components: Converted all components, sections, hooks, and pages to SolidJS patterns (createSignal, createEffect, onMount, <For>, <A>)
  • Icons: Swapped lucide-react for lucide-solid
  • Styling: Kept Tailwind CSS v4 and all existing design tokens/styles
  • Animations: Preserved GSAP scroll reveals, hero effects, and mobile nav animations
  • Analytics: Kept Vercel Analytics and Speed Insights via client-side injection
  • Fonts: Moved from next/font to Google Fonts link tags in index.html
  • Deployment: Added vercel.json SPA rewrite rules for client-side routing

Routes preserved

All original routes remain functional:

  • / (home with all sections)
  • /about, /hobbies, /projects, /timeline, /contact
  • /project/raycaster, /project/raytracer, /project/emulator

Removed

  • Next.js config, App Router directory, and post-build cleanup script
  • React and Next.js dependencies

Verification

  • npm run build succeeds
  • Dev server serves all routes (200 OK)
Open in Web Open in Cursor 
<!-- CURSOR_AGENT_PR_BODY_BEGIN --> ## Summary Ports the entire portfolio app from Next.js 16 + React 19 to **SolidJS** with **Vite** and **@solidjs/router**. ## What changed - **Framework**: Replaced Next.js App Router with Vite + SolidJS SPA routing - **Components**: Converted all components, sections, hooks, and pages to SolidJS patterns (`createSignal`, `createEffect`, `onMount`, `<For>`, `<A>`) - **Icons**: Swapped `lucide-react` for `lucide-solid` - **Styling**: Kept Tailwind CSS v4 and all existing design tokens/styles - **Animations**: Preserved GSAP scroll reveals, hero effects, and mobile nav animations - **Analytics**: Kept Vercel Analytics and Speed Insights via client-side injection - **Fonts**: Moved from `next/font` to Google Fonts link tags in `index.html` - **Deployment**: Added `vercel.json` SPA rewrite rules for client-side routing ## Routes preserved All original routes remain functional: - `/` (home with all sections) - `/about`, `/hobbies`, `/projects`, `/timeline`, `/contact` - `/project/raycaster`, `/project/raytracer`, `/project/emulator` ## Removed - Next.js config, App Router directory, and post-build cleanup script - React and Next.js dependencies ## Verification - `npm run build` succeeds - Dev server serves all routes (200 OK) <!-- CURSOR_AGENT_PR_BODY_END --> <div><a href="https://cursor.com/agents/bc-a36e541e-b566-452a-a199-28ab0d998e23"><picture><source media="(prefers-color-scheme: dark)" srcset="https://cursor.com/assets/images/open-in-web-dark.png"><source media="(prefers-color-scheme: light)" srcset="https://cursor.com/assets/images/open-in-web-light.png"><img alt="Open in Web" width="114" height="28" src="https://cursor.com/assets/images/open-in-web-dark.png"></picture></a>&nbsp;<a href="https://cursor.com/background-agent?bcId=bc-a36e541e-b566-452a-a199-28ab0d998e23"><picture><source media="(prefers-color-scheme: dark)" srcset="https://cursor.com/assets/images/open-in-cursor-dark.png"><source media="(prefers-color-scheme: light)" srcset="https://cursor.com/assets/images/open-in-cursor-light.png"><img alt="Open in Cursor" width="131" height="28" src="https://cursor.com/assets/images/open-in-cursor-dark.png"></picture></a>&nbsp;</div>
Sign in to join this conversation.
No description provided.