A web service where users authenticate with passkeys, and upload different files/text to have it read out loud.
https://passkey.tmathiassen.dk/
- Go 47.2%
- TypeScript 34.9%
- Python 7.9%
- CSS 7.2%
- Shell 1.4%
- Other 1.3%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
Adds an OCR subpage: renders the PDF client-side with pdf.js, lets the user brush/erase/marquee word boxes per page, autosaves the selection to a new ocr_selection JSONB column, and "Apply to text" assembles selected words into content. OCR job controls move from the Text page to this page. Solid structure overall: selection state normalized (default + per-page overrides), word geometry isolated in tested pure functions, pdf.js lazy-loaded and wasm assets handled via predev/prebuild. Reviewed-on: #100 |
||
| .forgejo/workflows | ||
| backend | ||
| compose | ||
| frontend | ||
| ocr | ||
| translator | ||
| tts | ||
| .env.example | ||
| .gitignore | ||
| Caddyfile | ||
| Database overview.ods | ||
| docker-compose.override.yaml | ||
| docker-compose.yaml | ||
| jwt.secret.example | ||
| package-lock.json | ||
| postgres.secret.example | ||
| README.md | ||
| Webspeaker diagram.excalidraw | ||
Webspeaker
An app for uploading pdf files and having them read out loud.
In Development
Currently only the main features of authentication is working.
Setup
- Clone the repository.
- Install a torch version appropriate for your system.
- Create the secret files from the example files (Ensure no special characters), can be populated by
openssl rand -hex 32 - Create the .env file based on the example. (You do not need to own the domain)
- On linux edit the /etc/hosts to tell your computer to point the domain specified in .env to this computer by adding the following line.
- IP domain_from_env
- run:
docker compose up --build