Skip to content

joshuaalwin/joshuaalwin.com

Repository files navigation

joshuaalwin.com 🖥️

My personal portfolio site. Built to showcase my work in offensive security, certifications, and experience without overcomplicating things.

💡 Why I built this

I wanted a portfolio that actually reflected the kind of work I do. Most templates felt too generic, so I decided to build something from scratch with a terminal-inspired aesthetic that fits the offensive security space. The goal was to keep it clean, fast, and easy to maintain, just a static site that I can update when I need to.

I used Claude as a coding assistant throughout the process to speed up development, handle boilerplate, and iterate on the UI faster than I would have solo. The content, design decisions, and structure are mine, Claude helped me ship it quicker.

🧰 Stack

  • Next.js (App Router): React framework, mostly using it for the component model and static export
  • Tailwind CSS: utility-first styling
  • Framer Motion: animations and transitions
  • Cloudflare Pages: hosting and deployment

⚡ Running locally

npm install
npm run dev

Then open http://localhost:3000.

🚀 Deploying

This is deployed on Cloudflare Pages. The setup is straightforward:

  1. Connect your GitHub repo to Cloudflare Pages
  2. Set the build command to npx next build
  3. Set the output directory to .next
  4. Cloudflare handles the rest

Alternatively, you can export it as a fully static site if needed.

📁 Structure

Nothing fancy here, standard Next.js project layout:

src/
├── app/          # Next.js app router pages
├── components/   # All UI components (Hero, About, Experience, etc.)
└── data/         # Static data files for experience, projects, certs, blog
public/
├── logos/        # Company and university logos
├── certs/        # Certification badge images
└── blog/         # Blog post thumbnails

🤝 Contact

Find me on LinkedIn or GitHub.

About

Portfolio of Joshua Alwin

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors