thinko is a browser-based Windows XP desktop recreation running at thinko.micr.dev.
It started from the winXP React desktop project, but this repo now contains the current custom site and deployment setup for the micr-dev/thinko GitHub repo and the Vercel project behind thinko.micr.dev.
- Windows XP-style desktop, windows, taskbar, and Start menu
- Custom desktop apps like
Paint,Winamp,My Pictures, andMy Computer - Embedded game launchers for local browser-playable game builds
- Paint submission flow with manual moderation
- Admin page for reviewing drawings and publishing commissions
- Vercel-backed API routes for submissions, moderation, commissions, and image serving
- Site: https://thinko.micr.dev
- Admin moderation: https://thinko.micr.dev/admin/drawings
- Layout debug route: https://thinko.micr.dev/layout
- React 18
react-scriptsstyled-componentswebamp- Vercel Functions
- Vercel Blob
- GitHub OAuth for admin auth
Install dependencies:
yarn installRun the web app and local API together:
yarn startThat starts:
- CRA dev server on
http://0.0.0.0:4003whenHOSTandPORTare set externally - local API server on
http://127.0.0.1:4748
Useful scripts:
yarn start
yarn start:web
yarn start:api
yarn build
yarn test
yarn lintFor production or full local API behavior, configure:
APP_BASE_URL
SESSION_SECRET
BLOB_READ_WRITE_TOKEN
GITHUB_CLIENT_ID
GITHUB_CLIENT_SECRET
GITHUB_ADMIN_LOGIN
NTFY_TOPIC
NTFY_BASE_URLNotes:
BLOB_READ_WRITE_TOKENis required for drawings and commissions storage.GITHUB_*values are required for/admin/drawings.NTFY_*is optional but used for new drawing notifications.
Users can draw inside the XP Paint app and submit artwork for review.
Current behavior:
- submission goes into a moderation queue, not straight to public view
- approved drawings appear in
My Pictures - commissions are published separately from the admin page and show up as desktop icons
Key paths:
- src/App.js - route split between desktop, admin, and layout debug
- src/WinXP - desktop shell and apps
- src/admin/DrawingsAdminPage.js - admin moderation and commissions UI
- api - Vercel API handlers
- server/index.js - local Express API for development
- public/custom - custom game, media, and desktop asset payloads
- vercel.json - Vercel routing and build config
This repo is intended to deploy from Vercel to thinko.micr.dev.
Current deployment model:
- static frontend build from CRA
- single Vercel API entrypoint in api/index.js
- Vercel Blob for image storage
- GitHub OAuth for admin login
- This repo contains large binary assets for icons, music, and browser-playable games.
- Temporary local junk like
downloads/,opensrc/, and ad hoc screenshots should not be committed. - The codebase still carries some upstream naming from the original
winXPproject, but the repo target is nowmicr-dev/thinko.
See LICENSE.