Settings
Workspace defaults for new designs and exports.
About this build
- QR generation library
- qrcode-generator 1.4.4 (Kazuhiko Arase, MIT) builds the real module matrix in the browser. The designer draws the dots, corner patterns, frame, text and logo around it as SVG. jsQR 1.4.0 decodes the rendered design as a live scan check.
- Framework and language
- TypeScript on Bun, server-rendered views with HTMX for list actions, Tailwind for styling, vanilla JavaScript for the designer.
- Where data is stored
- In a SQLite database on the app server: tables templates, qr_codes and settings. Every row carries workspace_id = 1, so adding accounts or tenants later means filtering by that column.
- How template JSON is stored
- Each template is one row whose config column holds the full design as JSON (version, QR style, frame, text, logo, background, element positions, dimensions). The thumbnail is a stored SVG, with created and updated timestamps. The designer fetches it by id and restores every control. QR content is never part of it.
- Source code and independent hosting
- It is a plain Bun project with no framework lock-in: the QR logic is one browser script, and the server uses only bun:sqlite. It can run anywhere Bun runs. The scaffold's shared helpers live in src/lib. The exact download-source option depends on your Studio plan, so check the project menu in Studio.