Personal Portfolio

Next.js
shadcn/ui
TypeScript
Project Thumbnail

Welcome to my portfolio, where you can explore my journey as a software engineer, discover the diverse projects I've worked on, and see the range of technologies and skills I've mastered, with details on how to contact me for future collaborations.

Development

Tech Stack

Next.js

I chose Next.js for its powerful features like server-side rendering, static site generation, and seamless routing, which align with my previous experience using Svelte. The app-based routing system in Next.js, similar to Svelte, provides an intuitive and efficient way to structure the application, enhancing performance and scalability for modern web development.

shadcn/ui

I chose ShadCN as my component library for its lightweight, customizable, and easy-to-integrate design system. It provides a set of high-quality, accessible components that streamline UI development, ensuring a consistent, modern look while saving time. With its simplicity and flexibility, ShadCN allowed me to focus more on functionality while maintaining a polished user experience.

Vercel

I chose Vercel to deploy my portfolio for its seamless integration with GitHub, enabling auto-building and deployment with every code change. Vercel’s fast and reliable hosting, along with features like serverless functions and optimized performance, ensures my portfolio loads quickly and scales effortlessly, providing a smooth experience for users.

Features

Pre-Lint

I used pre-linting hooks with Husky and lint-staged to ensure code quality and consistency before commits. By integrating with ESLint for code checks and Prettier for styling, this setup automates the process of catching errors and enforcing formatting, preventing bad code from entering the repository. It improves collaboration, reduces bugs, and maintains a clean, readable codebase.

Forms

I used Formspree with reCAPTCHA v3 for my contact form to simplify form handling and prevent spam, as Formspree easily integrates with reCAPTCHA for secure submissions. Additionally, I implemented Zod for form validation, ensuring data integrity and proper input formatting before submission. This combination provides a smooth, secure, and reliable user experience.

Notes

This portfolio was created to showcase my skills and experiences as a developer, but it also turned into an exciting opportunity to dive deeper into external integrations like Formspree, Vercel, and reCAPTCHA. I also learned how to secure my own domain, "ant03," which is a play on my name, Anthony. The project was not only a way to highlight my abilities but also a great learning experience in building real-world applications.