A personal portfolio website for Steven Jonathan - Network Engineer, Cybersecurity Analyst, and Software Developer. Built with Astro, Vue 3, and TailwindCSS v4.
Live site:
- Framework: Astro (SSG/SSR)
- UI Components: Vue 3 (Islands Architecture)
- Styling: TailwindCSS v4
- Animations: GSAP
- Icons: Lucide Vue Next
- Package Manager: Bun
- About / summary section
- Work experience & organizational experience
- Projects showcase
- Skills & technical competencies
- Education & competition history
- Links to LinkedIn, GitHub, CV, Instagram, and WhatsApp
- Zero-JS by default (Astro Islands for interactive components)
- Perfect SEO and lightning-fast loading
bun installbun run devbun run buildbun run previewpersonal-website/
├── public/ # Static assets (CV, favicon, etc.)
├── src/
│ ├── assets/ # Global CSS files
│ ├── data/
│ │ └── profile.js # All profile content (edit this to update the site)
│ ├── components/ # Vue components
│ ├── layouts/ # Astro layouts (SEO meta tags, HTML shell)
│ ├── pages/ # Astro pages (Routing)
│ └── App.vue # Root Vue component (injected into Astro)
└── astro.config.mjs # Astro configuration
All personal content is centralized in src/data/profile.js. Edit that file to update:
- Name, headline, location, email, and social links
- Summary / about text
- Education, work, and experience entries
- Projects, skills, and competition history