Developer · Founder of Zyrix Dev · Creator
Live portfolio · GitHub · Instagram · Zyrix Dev
This is my personal space on the web. It brings together software, design, trading interests, games, and the work I am building as a student and founder of Zyrix Dev. The visual direction is cinematic and typographic, with motion that responds to scroll and respects reduced-motion preferences.
The portfolio includes selected projects, a GitHub activity view, an interactive gaming card, a music section, social profile cards, and a contact ticket. Public GitHub data is fetched live. Music uses public Last.fm scrobbles when available; the record card is a display, not an audio player. The Discord card embeds Aarya's live public status through Discord GitHub Preview, with a static fallback. Instagram shows confirmed profile details without invented metrics.
The Projects chapter features 20 live web experiences in a Lenis-synchronized GSAP ScrollTrigger filmstrip, with an animated WebGL orbital backdrop on desktop and swipe navigation on smaller screens. Each cover is the project screenshot in its public repository.
An original AA line mark draws during the intro and repeats in the header and footer. A single capped-resolution WebGL field sits behind the rest of the portfolio and follows scroll and pointer position; it pauses while the dedicated Projects scene is visible, in hidden tabs, and under reduced motion. A desktop section rail offers direct chapter navigation.
| Layer | Technology |
|---|---|
| App | Vite, TypeScript, React islands |
| Interface | Tailwind CSS, custom CSS, Anton, Onest, Aarya Tall prototype |
| Motion | GSAP, ScrollTrigger, Lenis, Motion |
| Interactive components | React Bits and Kokonut UI adaptations |
| Hosting and data | Cloudflare Pages Functions, public GitHub and Last.fm feeds |
git clone https://github.com/aaryaavinash/portfolio.git
cd portfolio
npm ci
npm run devOpen the URL printed by Vite. For a production build:
npm run build
npm run previewThe build includes TypeScript checking. Focused data checks are in tools/check-*.mjs; for example, node tools/check-music.mjs.
The live site runs on Cloudflare Pages from this repository's main branch. Use npm run build as the build command and dist as the output directory. The root functions/api/music.ts provides /api/music on Pages; a plain Vite preview falls back to the latest public Last.fm widget and cannot show the full history feed.
Spotify listening is displayed through Last.fm's Spotify connection, with no Spotify secret in the frontend. The Last.fm profile must have public scrobbles before tracks can appear.
Mail to hello@aarya.cyou is forwarded by Cloudflare Email Routing to Aarya’s verified inbox.
| Path | Purpose |
|---|---|
index.html, src/ |
Page structure, styles, motion, React islands |
functions/api/music.ts |
Cloudflare Pages music endpoint |
public/ |
Favicon, banner, project artwork, fonts, share image |
tools/ |
Focused checks and Aarya Tall font generator |
.codex/ |
Product, design, typography, animation, and implementation notes |
The SEO pass records the crawl, metadata, and structured-data changes for the live domain.
The repository contains four different rights scopes. They are deliberately separate: permission to reuse code does not grant permission to copy personal content, brands, or third-party components.
| Scope | Terms |
|---|---|
| Original project code | MIT License |
| My personal copy and portfolio artwork | Portfolio content notice |
| Zyrix Dev name and brand material | Zyrix Dev brand notice |
| Components, animation library, fonts, and other dependencies | Third-party license notices |
The Aarya Tall font has its own MIT notice. Credits for adapted components remain in React Bits and Kokonut UI notices.
Designed and built with curiosity by Aarya Avinash.