Personal portfolio and frontend architecture playground.
Live at https://jes.ph
Built with Next.js, this project focuses on modern frontend patterns, scalable UI architecture, and performance-conscious design.
This repository serves two purposes:
- A personal portfolio showcasing work, experience, and ideas
- A frontend architecture playground for exploring patterns, composition, and maintainability
The codebase prioritizes clarity, explicit structure, and modern tooling over unnecessary abstraction.
- Framework: Next.js (App Router)
- Styling: Tailwind CSS
- Testing: Vitest and React Testing Library
- Fonts: Cal Sans and Inter
- Package Manager: npm
- Node.js (LTS recommended)
- npm
npm install
Start the local development server:
npm run dev
Open the site locally at:
http://localhost:3000
Create an optimized production build:
npm run build
app/ Next.js App Router pages, layouts, and metadata (marketing route group)
components/ Reusable UI components
layout/ Shared UI layout components
lib/ Utility functions and helpers
public/ Static assets (images, fonts)
styles/ Global styles and Tailwind configuration
This project uses Vitest with React Testing Library for functional unit testing.
Run all tests:
npm test:watch
Run tests once (CI-style):
npm test
Lint the codebase:
npm run lint
- Test files are colocated with the files they test
- Example:
Component.tsx→Component.test.tsx - Tests favor functional and unit-level coverage over heavy integration tests
This project follows a set of AI-assisted coding guidelines. See AGENTS.md for the current Codex memory covering TypeScript usage, styling rules, and testing conventions.
The site is deployed to production at:
Deployment details are intentionally minimal and may evolve over time.
This project is licensed under the MIT License.
See the LICENSE file for details.
