Refine homepage design for a clean, minimalist, and handcrafted aesthetic

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
This commit is contained in:
keshavananddev
2026-04-24 03:33:53 +00:00
parent 4b0e449e68
commit b79bf1d4ca
6 changed files with 292 additions and 346 deletions

30
replit.md Normal file
View File

@@ -0,0 +1,30 @@
# 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) and `docs.html` (how it works)
## Structure
- `index.html` — homepage markup
- `src/main.ts` — homepage typewriter + copy-to-clipboard logic
- `src/style.css` — homepage styles (dark, dot-grid background, soft glow)
- `docs.html` / `src/docs.ts` / `src/docs.css` — docs page
- `vite.config.ts` — multi-page build config; dev server on `0.0.0.0:5000` with `allowedHosts: true` for 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 application` runs `npm run dev` on port 5000.