Replace the matrix rain animation with a subtle dot grid and typewriter effect, update Replit configuration, and add a project description. Replit-Commit-Author: Agent Replit-Commit-Session-Id: 6def8112-39d2-4641-b93b-f39108179f33 Replit-Commit-Checkpoint-Type: full_checkpoint Replit-Commit-Event-Id: 2dc4d365-c6bd-42cd-afc9-bdc161d87351 Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/42ae33dd-8759-4196-85a5-434465c72ece/6def8112-39d2-4641-b93b-f39108179f33/PurqiOp Replit-Helium-Checkpoint-Created: true
1.2 KiB
1.2 KiB
Terminal Portfolio
A minimalist landing page that points visitors to an SSH-accessible portfolio (ssh portfolio@keshavanand.net). The webshell behind the SSH endpoint is a separate concern; this repo is just the marketing/landing surface.
Stack
- Vite + TypeScript (vanilla, no framework)
- Plain CSS, JetBrains Mono via Google Fonts
- Two pages:
index.html(homepage) anddocs.html(how it works)
Structure
index.html— homepage markupsrc/main.ts— homepage typewriter + copy-to-clipboard logicsrc/style.css— homepage styles (dark, dot-grid background, soft glow)docs.html/src/docs.ts/src/docs.css— docs pagevite.config.ts— multi-page build config; dev server on0.0.0.0:5000withallowedHosts: truefor Replit
Design notes
The homepage intentionally avoids busy background animation. It uses:
- A static CSS dot grid + a single soft radial glow (no JS animation loop)
- A short typewriter intro for the SSH command with a humanized cadence
- A blinking block caret that persists after typing
- Subtle opacity-only fade-ins (no transform-based slide-ins)
- Honors
prefers-reduced-motion
Run
- Workflow
Start applicationrunsnpm run devon port 5000.