Arch Linux Setup
Overview
Switched to Arch Linux in 2023 as the main development machine — built from scratch, no installer hand-holding. Before settling, tried Void Linux for a stretch: musl libc and runit were interesting but the lack of an AUR equivalent meant too much manual work for daily use. Void got shelved. Arch has been the stable choice since.
Switched to Arch Linux in 2023 as the primary development machine — installed from scratch, no GUI installer, no hand-holding.
Before settling on Arch, ran Void Linux for a stretch. musl libc and runit were genuinely interesting, but the lack of an AUR equivalent made daily-use package management too manual. Void got shelved.
Arch has been stable since. The AUR covers everything that matters, and the rolling release model means the system stays current without major upgrade ceremonies.
Running Hyprland as the compositor — a tiling Wayland compositor that stays out of the way and does exactly what's configured.
Stack
Tooling / AI
System / OS
Other
Inspiration
Wanted full control over the development environment — no cruft, no mystery processes, no OS getting in the way of the work.
Structure
Blueprint
Layered system stack — bootloader (systemd-boot) → kernel → Hyprland compositor → shell → terminal → dev toolchains.
Composition
How it works
Base Install
Partition, format, mount, and install base system via archinstall or manual pacstrap.
Bootloader
systemd-boot configured for fast, minimal startup.
Hyprland
Wayland compositor with tiling layout, keybindings, and display config.
Dotfiles
Config files for shell, editor, terminal, and compositor version-controlled in git.
AUR & Packages
paru as AUR helper — dev tools, fonts, and utilities installed and maintained.
Dev Environment
Node, Python, Docker, and language toolchains layered on top.
More projects
Strata
A concept landing page for a fictional luxury skeleton watch, built as a single-page React 19 + TypeScript app on Vite. Sections pin and peel over each other using a CSS sticky mechanic driven by one scroll listener setting a custom property — native scroll is never hijacked — while GSAP with SplitText and ScrollTrigger handles masked headline reveals, scene arrivals, and a scrubbed parallax, all gated behind viewport size and prefers-reduced-motion. The site is served by a Cloudflare Worker via Workers Static Assets, which stamps a strict Content-Security-Policy and other security headers on every response and exposes a CORS-open /ping health endpoint.
SIMULACRA
A WebGL-powered interactive manifesto exploring the philosophy and mathematics of simulation through real-time browser physics. Built on React Three Fiber and Rapier (WASM-compiled Rust physics), it runs a 5,000-particle instanced mesh, a Plinko physics sandbox, and a live 4,000-node sorting visualizer — all at 60 FPS in the browser. The UI layer is fully decoupled from the WebGL canvas so DOM routing never interrupts the physics loop. Deployed on Cloudflare Workers with a TypeScript edge worker handling security headers and asset serving.
CampusBytes backend
Backend API for the CampusBytes food delivery platform — order management, menu serving, and delivery state.
CampusBytes Mobile App
A mobile app for CampusBytes, a local food delivery service catering to university students. The app features a user-friendly interface for browsing menus, placing orders, and tracking deliveries in real-time. Built with React Native and integrated with the existing backend API to provide a seamless ordering experience.