Skip to content

neilhan/static

Repository files navigation

My tools

Timer & Tracker

Farnsworth CW Trainer

Life in weeks

Learn Foreign Language — in-progress language practice workspace.

Lucky Number Lookup — Enter a number (digits only); it is reduced modulo 81 (1–81) and looked up in the fortune table.

<iframe src="./Life/dist/index.html" width="100%" height="2400px" style="border: 1px solid #333; border-radius: 8px;" scrolling="no"></iframe>

Development

nvm use 25
pnpm -r install
pnpm build
pnpm dev:all

This repo is a pnpm workspace. To work on any app:

  1. Enable pnpm via Corepack once: corepack enable pnpm
  2. Use Node 25+ (run nvm use to respect .nvmrc, Vite 7 requires 20.19+)
  3. Install everything from the repo root: pnpm install
  4. Dev servers:
    • Single app: pnpm dev:farnsworth, pnpm dev:sporttimer, pnpm dev:life, pnpm dev:language, or pnpm dev:lookup (Lucky Number Lookup)
    • All apps together: pnpm dev:all
  5. Build every app at once: pnpm run -r build (or ./build_all.sh)

Shared library (packages/shared)

  • React wake-lock hook lives in @static/shared/react/useScreenWakeLock
  • Common icons (for now, home.svg) live in @static/shared/assets/home.svg
  • Build the package with pnpm --filter @static/shared build
  • Extend it with additional hooks/utilities to keep apps in sync

Testing Production Builds Locally

Source code: https://github.com/neilhan/static To test a production build locally (avoiding CORS issues), navigate to the app directory and run:

npx serve dist

This will serve the built files over HTTP at http://localhost:3000 (or another port if 3000 is busy).


Last updated: 2026-03-02 09:57 PT

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors