An ambient, single-page typewriter where anyone can write a page and publish it to a public gallery. Built with React + TypeScript + Vite, Supabase for storage, and a focus on tactile UI.
- Visit the app: digitaltypewriter.vercel.app
- Best viewed on desktop
- Click or type: On-screen keys and physical keyboard input
- No backspace: True to the brief; use Clear to start over
- 12-line hard cap: One page only
- Paper movement: Paper and text advance together on line breaks
- Publish to public gallery: Name is optional and moderated
- Client-side moderation: Profanity filtered for name and text
- Shareable links:
/writing/:idroutes for individual works - Gallery previews: Mini papers with scaled text; click to enlarge
- Floating nav: Top-right, transparent, zero layout height
- Bottom-left controls: Publish and Clear
- Geist Mono: Global font for all text
- Publish animation: Paper + text float up (≤1s, ease-in)
- Reduced motion: Respects
prefers-reduced-motion
- React, TypeScript, Vite
- Supabase (PostgreSQL, REST)
- React Router
- bad-words (client-side moderation)
- @fontsource/geist-mono, @phosphor-icons/react
- Improved profanity detection
- Different fonts/colors
- Different typewriter variations
- Sound effects
- Improve mobile interface