Personal portfolio and contact site built with Remix and deployed on Cloudflare Pages. The main branch is deployed to nicholasferrara.net.
git clone https://github.com/nickineering/nicholasferrara.net.git
cd nicholasferrara.net
npm install
npm run devVisit localhost:8788
- Remix - Full-stack React framework with server-side rendering
- Cloudflare Pages - Global CDN hosting with edge functions
- TypeScript - Type safety and better developer experience
- Resend - Email API for contact form
| Command | Description |
|---|---|
npm run dev |
Development server |
npm run build |
Production build |
npm run start |
Preview production build |
npm run lint |
Fix formatting/linting |
npm run types |
Check TypeScript errors |
For contact form functionality:
cp .dev-example.vars .dev.vars
# Add RESEND_API_KEY for email sending- Main branch → Auto-deploys to production via GitHub Actions
- Pull requests → Automatic preview deployments
git clone https://github.com/nickineering/nicholasferrara.net.git
npm install
npm run dev # localhost:8788For UI changes, the project includes visual regression testing:
npm run vis # Test for visual changes
npm run vis:update # Approve changes if intentionalSee VISUAL_TESTING.md for details.