Skip to content

Latest commit

ย 

History

79 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ–ฅ๏ธ Retro TUI Portfolio

A minimal, high-aesthetic Terminal User Interface portfolio template.
Built with Astro.js v7 & Tailwind CSS v4.


Astro Tailwind CSS TypeScript Astro Themes License: MIT



Deploy to Netlify



๐ŸŒ Launch Live Demo ย โ€ขย  ๐ŸŒŸ Available on Astro Themes


๐ŸŒŸ Available on Astro Themes: This theme is officially listed and available on the Astro Theme Directory.


๐ŸŒ Live Preview

Experience the interactive retro terminal portfolio live in your browser:


๐ŸŽฎ Video Demo

demo.mp4

๐ŸŽจ Retro CRT Themes

Switch between 6 built-in CRT themes in real-time via the header dropdown or the theme <name> CLI command:

๐ŸŸข Phosphor Green ๐ŸŸ  Amber CRT
Phosphor Green Amber Monitor
๐Ÿ”ต Cyber Cyan ๐ŸŸฃ Dracula Synth
Cyber Cyan Dracula Synth
โšช Monochrome โ˜• Cappuccino
Retro Monochrome Cappuccino Theme

Includes a custom retro 404 terminal error screen:

404 Terminal Page

๐Ÿ“ป Retro Cassette Radio & 24/7 Live Streams

An interactive retro cassette tape player with real-time Web Audio API spectrum visualization:

  • Curated Tracks: Built-in Lo-Fi, Chiptune, Synthwave, and Ambient tracks.
  • 24/7 Live Streams: Includes 24/7 live YouTube radio streams (Lofi Girl ๐Ÿ”ด LIVE, Synthwave ๐Ÿ”ด LIVE, Chillhop ๐Ÿ”ด LIVE).
  • Custom Song Streaming: Stream any song or live radio from YouTube by pasting the video URL into the player or executing radio add <url> in CLI.
  • Infinite Live Duration: Displays 00:00 / โˆž for 24/7 live stream stations.
Retro Radio Player

๐Ÿ Retro Arcade Snake (./snake.sh)

A classic 60 FPS HTML5 Canvas Snake arcade mini-game built right into the terminal:

  • Controls: Play using W/A/S/D, Arrow keys, or mobile D-Pad touch buttons (โ–ฒ โ—€ โ–ผ โ–ถ).
  • Sound Effects: Web Audio API sound synthesis for eating apples, steering, and game-over alerts.
  • High Scores: Persistent high-score tracking stored in browser localStorage.
Retro Snake Game

๐Ÿ•น๏ธ Retro Arcade Pong (./pong.sh)

A 1972-style 60 FPS HTML5 Canvas Pong arcade mini-game vs CPU AI:

  • Controls: Steer your paddle using W/S, โ†‘/โ†“ Arrow keys, Mouse drag, or mobile touch controls.
  • Rally & Score Counter: Real-time rally counter and persistent high-score tracking.
Retro Pong Game

๐Ÿ™ Live GitHub Repositories & Metrics

Real-time integration with the GitHub REST API:

  • Live Metrics: Automatically fetches total stars โญ, total forks ๐Ÿด, followers count ๐Ÿ‘ฅ, and public repository statistics.
  • Language Breakdown: Displays primary programming languages across all public repositories.
  • Featured Repositories Grid: Interactive cards displaying repository stars, description, and direct links.
Live GitHub Stats & Repositories

๐Ÿ–ฅ๏ธ GitHub CLI Integration (github / repos)

Access live GitHub metrics and featured repositories directly inside the terminal CLI:

  • CLI Commands: Execute github (or gh / stats) to view live profile metrics, or repos (or projects) to browse top repositories.
  • Interactive Terminal Cards: Formatted terminal output displaying repository stars, forks, language badges, and direct links.
GitHub CLI Integration

โœจ Key Features

  • Dual-Mode UI โ€” Switch between an interactive >_ CLI Terminal (history, tab autocomplete) and a [#] GUI Dashboard.
  • ๐Ÿ“ป Retro Lo-Fi Radio + 24/7 Live Radio Streams โ€” Cassette radio with Web Audio API real-time spectrum visualizer, 24/7 Live Lofi Girl / Synthwave streams, & custom YouTube URL loader.
  • ๐Ÿ Retro Arcade Snake & ๐Ÿ•น๏ธ Pong โ€” Fully playable 60 FPS HTML5 Canvas arcade games with sound synthesis, zero-latency touch controls, and persistent high-scores.
  • ๐Ÿ“ฑ 100% Mobile & Touch Optimized โ€” Pinned window headers, touch D-Pad controls, centered cassette player, and responsive layout for mobile screens (Samsung Galaxy S23 FE, iPhones, Android).
  • ๐Ÿ™ Live GitHub Stats & Repos โ€” Real-time GitHub REST API metrics: total stars โญ, forks ๐Ÿด, followers, languages breakdown & repositories.
  • 6 Vintage CRT Themes โ€” Phosphor Green, Amber, Cyber Cyan, Dracula Synth, Monochrome, and Cappuccino with dynamic runtime CSS variables.
  • CRT Shader & Audio FX โ€” Scanline overlays, vignette shadows, and Web Audio API keypress sounds.
  • Live Activity Streaming โ€” Optional Discord Lanyard WebSocket integration for Spotify activity and live gaming status (disabled by default).
  • Zero-Backend Contact Form โ€” Working AJAX email transmission via FormSubmit.co with confetti celebration.
  • 100% Static & Fast โ€” Built with Astro v7 for instant load times and zero overhead.

๐Ÿš€ Quick Start

# Clone and install
git clone https://github.com/nivinvysakh/astro-tui-portfolio.git
cd astro-tui-portfolio
npm install

# Start local dev server
npm run dev

Open http://localhost:4321 to view your live portfolio.

๐Ÿณ Docker: Run docker compose up tui-portfolio-dev for live development with hot-reloading.


โš™๏ธ Customization

  • Content & Bio โ†’ src/data/portfolio.ts
    Update bio, skills matrix, hardware specs, collaborations, and contact details.

  • Themes, Radio & Integrations โ†’ src/config/
    Configure custom CRT themes (themeConfig.ts), Radio tracks & 24/7 Live Streams (radioConfig.ts), Spotify RPC (spotifyConfig.ts), and live Gaming presence (gamesConfig.ts).

    ๐Ÿ’ก Note: Spotify and Gaming live activity widgets are disabled by default until configured with your Discord Lanyard User ID (lanyardUserId: "").

  • ๐ŸŽต Adding Custom Radio Tracks & Streams:

    • Permanent Playlist (Config): Add MP3 URLs or YouTube links to the RADIO_PLAYLIST array in src/config/radioConfig.ts.
    • Runtime via UI / CLI: Paste any YouTube URL into the Radio window's STREAM CUSTOM SONG VIA YOUTUBE URL input field, or execute radio add <youtube_url> directly in the CLI terminal. Custom streams persist in browser localStorage.

๐Ÿ’ป CLI Commands

Command Description
help List available commands (man)
about Bio, background & location (cat bio.txt)
skills Interactive proficiency meters (cat skills.sh)
collabs Projects & collaborations (cat collabs.md)
neofetch System specs & ASCII art logo
github Live GitHub profile metrics, stars & language stats (stats, gh)
repos Explore featured repositories with stars & links (projects)
links Display quick links to LinkedIn, X (Twitter), GitHub & Email (socials)
snake Play classic retro Snake arcade game (./snake.sh)
pong Play retro arcade Pong vs CPU (game, play, ./pong.sh)
radio Play Lo-Fi radio or stream 24/7 Live YouTube stations (radio add <yt_url>, radio play)
spotify Live Spotify track & progress bar (np)
theme <name> Switch theme (green, amber, cyan, dracula, mono, cappuccino)
matrix Toggle digital rain canvas animation
crt / sfx Toggle CRT shader / Keypress sound effects
gui / cli Switch layout mode
clear Clear terminal screen buffer (cls)

๐Ÿ“„ License

Distributed under the MIT License. ยฉ 2026 Nivin

Contributors

Languages