Back to Projects Back to Projects
arucaden.my.id
arucaden.my.id

arucaden.my.id is my personal portfolio website, built to showcase my projects, skills, experiences and sometimes share my opinions.

Executive Summary

As a Frontend Engineer & UI/UX Designer, I designed this platform as an upgrade from my old portfolio (which using slides). It functions as a fast static site while injecting javascript reactivity when needed using Astro Islands and Svelte Runes.

The Problem & The Solution

The Problem:

  • Typical developer portfolios often feel like highly static corporate templates.
  • Heavy client-side frameworks (like React) that bloat loading times and destroy SEO (Using High Tech for FOMO).
  • Complicated animations (Like my name animation).

The Solution:

  • I built this website using Astro for fast server-side HTML generation, Svelte 5 for precise, reactive “Islands” (like modals and overlays), and UnoCSS to completely eliminate CSS stylesheet bloat.
  • I used vanilla JavaScript to make complicated animation, because it will never achieved with Svelte or Astro.

Technical Details

  • Fast Performance: Powered entirely by Astro’s static site generation and island architecture.
  • Reactive Components: Leveraged Svelte 5’s new $state Runes to drive high-performance overlays and reactive data bindings.
  • Utility-first Styling: Completely custom-themed using UnoCSS for on-demand optimized CSS output.
  • Complicated Animations: Using vanilla JavaScript, CSS transitions, and completely custom glitch effects.
  • Responsive Design: Designed to be good looking website in all platform

Challenges & Learnings

Merging Astro routing with Svelte’s component hydration was extremely tricky at first. I need to learn more about partial hydration concepts (figuring out when to use client:idle or client:visible). Furthermore, adapting to Svelte’s explicit Runes forced me to understand exactly how reactivity flows, making robust interactive components. Also Always design with the end-user’s experience over personal taste, in the end its the user who visits the website.


There is a story behind this website, check out below to know more!

Read the full Devlog ➔