- TypeScript 84.7%
- CSS 12.5%
- HTML 2%
- JavaScript 0.8%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| .vscode | ||
| assets | ||
| bin | ||
| components | ||
| constants | ||
| css | ||
| pages | ||
| public | ||
| utils | ||
| .editorconfig | ||
| .gitattributes | ||
| .gitignore | ||
| .markdownlint.jsonc | ||
| .vercelignore | ||
| app.tsx | ||
| biome.jsonc | ||
| bun.lock | ||
| env.d.ts | ||
| index.html | ||
| LICENSE | ||
| main.tsx | ||
| package.json | ||
| README.md | ||
| tsconfig.json | ||
| vercel.json | ||
| vite.config.ts | ||
Speculo
P2P mobile to desktop device orientation mirroring. Try it out at speculo.howion.com.
Speculo is a Latin word (which is dative form of Speculum) which translates to mirror, reflector. Specere + -ulum.
Motivation
Just one of my rather old experimental works, which WebRTC was a big deal back then. This is now a better rewrite of the previous version which I previously used Next.js + React. This version uses Vite + Preact with major optimizations and bugfixes in code. Thank god, now also displays QR-code instead of just a link.
Tech Stack
- Bun v1.4
- Typescript v7
- PeerJS + xirsys
- Vite
- Preact
- Biomejs
To-Do's
- Read and use accelerometer sensor data to display device movement in addition to rotation. Maybe use it as noise filtering as well
- Switch to threejs rendering for easier 3D manipulation.
- Compress client-emitted data and decompress it on the host.
- Setup and use
turn.howion.comandstun.howion.com.
Development
This repo is maintained under the monorepo mono within the personal zone. However, it should be fine to work with as a standalone repository as long as you keep track of possible git-lfs objects and auto generated/updated files such as biome.json.