QR Generator
QR Generator (hereinafter the “Application”) is a web tool for generating Naomi-branded QR code images from a URL.
1. User Documentation
Section titled “1. User Documentation”The live instance is available at https://qr.spellware.dev.
To generate a QR image:
- Open the page.
- Enter a URL in the form input.
- Select Generate.
- Download the generated PNG using the Download PNG button.
Generated images include:
- Naomi colour branding.
- Naomi avatar centred in the QR matrix.
- A branding strip with
chat.naomi.lgbt.
If URL input is missing, generation fails with a validation error.
2. Technical Documentation
Section titled “2. Technical Documentation”This project is a TypeScript Fastify service with both web UI and CLI generation paths.
Local setup:
- Install dependencies with
pnpm install. - Start the web server with
pnpm start. - Build TypeScript with
pnpm build. - Lint source files with
pnpm lint.
Default server binding:
- Host:
0.0.0.0 - Port:
15555
HTTP endpoints:
GET /returns the web UI.GET /generate?url=<value>returns a PNG attachment.- Missing
urlquery returnsHTTP 400. - Generation failures return
HTTP 500.
CLI batch generation:
- Use
pnpm generate -- <url> [<url> ...]. - Output files are written to the
outputdirectory. - File names are URL-derived, lowercased, hyphenated, and limited to 60 characters.
Core generation pipeline:
- Generate QR data using
qr-code-styling. - Overlay Naomi avatar within a circular mask.
- Composite final image with bottom branding strip.
3. Legal Documentation
Section titled “3. Legal Documentation”Project-specific legal references:
- License:
https://docs.spellware.dev/#/license - Terms:
https://docs.spellware.dev/#/terms - Privacy:
https://docs.spellware.dev/#/privacy - Security:
https://docs.spellware.dev/#/security
Copyright is held by Naomi Carrigan.
4. Contributing Documentation
Section titled “4. Contributing Documentation”Contributions are accepted via pull requests.
Before contributing:
- Review the repository contributing guidelines.
- Follow the Code of Conduct.
- Run lint and build locally before opening a pull request.
Feedback and bug reports are handled in the #bug-reports and #feature-requests forum channels in our Discord community.