A modern, professional personal website built with Next.js and TypeScript. Designed for researchers, engineers, and professionals to showcase their work, research, and contact information.
This site features a responsive, card-based projects page, a vertical timeline for experience, and a contact page with copy-to-clipboard email and downloadable bio/CV. It is fully accessible, SEO-friendly, and easy to customize for your own use. The project is deployed on Vercel for seamless CI/CD.

git clone https://github.com/ethanvillalovoz/ethan-site-rebuild.git
cd ethan-site-rebuild
npm install
# or
yarn install
# or
pnpm install
# or
bun install
npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev
src/app/ (e.g., projects/page.tsx, about/page.tsx, contact/page.tsx)public/images/ and documents in public/data/sitemap.xml and robots.txt after adding/removing pages:
npx next-sitemap
.env.local (see Configuration)next.config.js and environment variables..env.local file:
NEXT_PUBLIC_SITE_URL=https://your-site.vercel.app
# Add other variables as needed
next-sitemap.config.js as needed.ethan-site-rebuild/
├── public/
│ ├── images/
│ ├── data/
│ ├── robots.txt
│ └── sitemap.xml
├── src/
│ ├── app/
│ ├── components/
│ ├── styles/
│ └── ...
├── .github/
│ ├── ISSUE_TEMPLATE/
│ └── PULL_REQUEST_TEMPLATE.md
├── README.md
├── LICENSE
├── next.config.js
├── tailwind.config.js
└── package.json
No automated tests are included yet.
You can add your own tests using Jest or React Testing Library.
Contributions are welcome!
To contribute:
git checkout -b feature/your-feature)See CONTRIBUTING.md for more details.
.github/ISSUE_TEMPLATE/ for bug reports and feature requests..github/PULL_REQUEST_TEMPLATE.md.For architecture and workflow diagrams, use Mermaid.
Example:
flowchart TD
A[Visitor] -->|Navigates| B(Homepage)
B --> C{Chooses Page}
C -->|Projects| D[Projects Page]
C -->|About| E[About Page]
C -->|Contact| F[Contact Page]
This project aims to follow SOLID principles for maintainability:
This project is open source and available under the MIT License.