---
title: QR Generator
---

QR Generator (hereinafter the "Application") is a web tool for generating Naomi-branded QR code images from a URL.

## 1. User Documentation

The live instance is available at `https://qr.nhcarrigan.com`.

To generate a QR image:

1. Open the page.
2. Enter a URL in the form input.
3. Select Generate.
4. Download the generated PNG using the Download PNG button.

Generated images include:

1. Naomi colour branding.
2. Naomi avatar centred in the QR matrix.
3. A branding strip with `chat.naomi.lgbt`.

If URL input is missing, generation fails with a validation error.

## 2. Technical Documentation

This project is a TypeScript Fastify service with both web UI and CLI generation paths.

Local setup:

1. Install dependencies with `pnpm install`.
2. Start the web server with `pnpm start`.
3. Build TypeScript with `pnpm build`.
4. Lint source files with `pnpm lint`.

Default server binding:

1. Host: `0.0.0.0`
2. Port: `15555`

HTTP endpoints:

1. `GET /` returns the web UI.
2. `GET /generate?url=<value>` returns a PNG attachment.
3. Missing `url` query returns `HTTP 400`.
4. Generation failures return `HTTP 500`.

CLI batch generation:

1. Use `pnpm generate -- <url> [<url> ...]`.
2. Output files are written to the `output` directory.
3. File names are URL-derived, lowercased, hyphenated, and limited to 60 characters.

Core generation pipeline:

1. Generate QR data using `qr-code-styling`.
2. Overlay Naomi avatar within a circular mask.
3. Composite final image with bottom branding strip.

## 3. Legal Documentation

Project-specific legal references:

1. License: `https://docs.nhcarrigan.com/#/license`
2. Terms: `https://docs.nhcarrigan.com/#/terms`
3. Privacy: `https://docs.nhcarrigan.com/#/privacy`
4. Security: `https://docs.nhcarrigan.com/#/security`

Copyright is held by Naomi Carrigan.

## 4. Contributing Documentation

Contributions are accepted via pull requests.

Before contributing:

1. Review the repository contributing guidelines.
2. Follow the Code of Conduct.
3. Run lint and build locally before opening a pull request.

Issue reports and feedback are handled via `https://support.nhcarrigan.com`.