Home
Softono
virex.lol

virex.lol

Open source TypeScript
34
Stars
0
Forks
0
Issues
1
Watchers
1 week
Last Commit

About virex.lol

personal site. material 3 shell, photo gallery, url shortener, blog, and is way too configurable.

Platforms

Web Self-hosted

Languages

TypeScript
live site

virex.lol

personal hub and experimental site. material 3 ui, custom android-like shell, built on react 19. research, photography, rants.


what's new?

important changes

  • [May 25, 2026] moved to cloudflare - bye vercel!

recent changes

  • [June 9, 2026] Immersive settings, Dash page overhaul, new screenshots, and more!

  • [June 9, 2026] Fix prod bugs and type mismatches (v2026.06.09)

  • [June 6, 2026] expressive typography overhaul V2!

  • [June 5, 2026] expressive typography overhaul!

  • [June 1, 2026] pride month update

  • [May 27, 2026] better haptics, fade switches icon, hide hover indicator on mobile.

  • [May 26, 2026] fix blur on mobile /readme, fix blog text on light mode, and much more.

  • [May 26, 2026] update rss, llm content, and sitemap.

last updated:June 9, 2026 — full changelog

screenshots

desktop

home blog settings readme

mobile

home blog settings readme

stack

layer tech
front react 19 + vite 6, tailwind 4, motion (liquid physics), lucide
back express on vercel, sqlite via better-sqlite3
assets webp via sharp, custom noise engine

features

lens — bento-grid photo gallery. swipe/drag, keyboard nav, high-refresh animations. assets compressed ~200mb → ~40mb.

blog — linux, e-waste, dev rants. read-tracking + rss at /rss.xml (actually updated now. no really.)

virex shorten — url shortener at /r/:slug. sqlite-backed, dash-managed, route shadow protection included.

lore — interactive bio with a cool ass animation and more.

tracker — research log. cybersec, dev, design, tooling, whatever i'm poking at.

settings — accent hue, light/dark/system, highHz mode, brutalist mode (0px radii), zen mode, jetbrains mono override, and more.


getting started

# clone + install
git clone https://github.com/hnpf/virex.lol
cd virex.lol
npm install        # or pnpm install

# dev
npm run dev        # vite + local api server

# prod
npm run build      # output to dist/

you'll need node 18+ and a sqlite-compatible env for the api routes. vercel handles this automatically on deploy.


layout

api/
  index.ts              express handlers (shortener, rss, etc.)
  db.ts                 sqlite read/write logic

public/
  photography/          webp archive (compressed via sharp)
  robots.txt
  rss.xml
  sitemap.xml

src/
  App.tsx               router + top-level page logic
  Dash.tsx              shortener dashboard
  constants.ts          data source (bio, links, projects, etc.)
  ThemeContext.tsx       accent / mode / settings state (context api)
  M3Slider.tsx          material 3 slider component
  M3Switch.tsx          material 3 toggle switch
  CopyLinkCapsule.tsx   clipboard copy ui
  NotFound.tsx          404 page
  No.tsx                no
  index.css
  main.tsx

todo

  • [x] settings: import/export config as json [Added!! has way more than just json (includes link sharing and more!)]
  • [ ] honey-pot router (unsure)
  • [ ] rss/atom deep-linking & webmention skeleton
  • [ ] quick settings android-like drag-down notification shade
  • [ ] dynamic material 3 source color extraction
  • [ ] snapping & workspace tiling mode for custom panels
  • [ ] lazy-loading blurred placeholder matrix for lens

virex.lol · github.com/hnpf · gpl-3.0