Skip to content

Repository files navigation

xav.gwei.site

My personal portfolio website with a terminal-style interface. Navigate using CLI commands instead of traditional UI.

LicenseNodepnpm

Live:xav.gwei.site

What makes it unique

  • Terminal interface — Type commands like whoami, resume, status, contact
  • Peer-to-peer data retrieval — Real-time service health and recent Pixelfed posts fetch via Logos Delivery (A censorship resistant P2P messaging network)
  • IPFS hosted — Deployed on IPFS with IPNS

Commands

CommandWhat it does
welcomeIntroduction
whoamiAbout me — bio, skills, GPG key
resumeView/download my CV
contactEmail, social links, messaging
statusLive health of my self-hosted services
galleryRecent photos from Pixelfed
helpList all commands

Keyboard:Tab for autocomplete, ↑↓ for history, Ctrl+C to cancel.

Tech Stack

LayerTools
FrameworkNext.js 15 (static export), React 19
StylingTailwind CSS 4, @nipsys/lsd
StateNanostores
i18nnext-intl (EN/FR)
P2P@waku/sdk (Logos Delivery)
TestingVitest

Getting Started

Requirements: Node.js ≥22, pnpm ≥10

git clone https://github.com/nipsysdev/site.git
cd site
git submodule update --init --recursive # Resume PDFs
pnpm install
pnpm dev

Open localhost:3000.

Scripts

CommandDescription
pnpm devDevelopment server
pnpm buildProduction build → out/
pnpm test:unitRun tests
pnpm lintLint with Biome

Architecture

src/
├── app/[locale]/ # Pages (en, fr)
├── components/
│ ├── terminal/ # Terminal emulator
│ └── cmd-outputs/ # Command output components
├── lib/dpulse/ # Logos Delivery integration
└── stores/ # Nanostores state

dpulse connects to dpulse via Waku for real-time service status with Ed25519 signature verification.

Deployment

Push to main triggers GitHub Actions: lint → test → build → publish to IPNS → pin to 4EVERLand.

License

GPL-3.0-or-later

About

My little corner of cyberspace

Resources

Stars

0 stars

Watchers

1 watching

Forks

Used by

Contributors

Languages