Technical Architecture — Confidential
No server. No subscription.
Three-layer distributed storage carrying voice and memory a thousand years forward.
Infrastructure & Service Map
Zero fixed monthly costs. Zero proprietary servers — development, delivery, payments, and archiving all run on external services and public institutions. Frontend, GAS, and Cloudflare Workers run on JavaScript / HTML / CSS; generator scripts in Python.
Architecture & Data Flow
Voice / Image / Text
In-browser encoding
Base64URL embed
V40 / 2,953B
Smartphone / 3x zoom
GitHub Pages / PWA / 3MB
| Data Type | Encoding | Max Capacity |
|---|---|---|
| Voice | Codec2 WASM (6 modes: 3200–450 bps) | ~29 sec (450 bps) |
| Image | JPEG / WebP — in-browser resize + Base64URL | ~2.2 KB |
| Text | UTF-8 — Base64URL | ~2,900 chars |
To eliminate service shutdown risk, servers are completely removed from the data flow. The QR code itself is the storage, and the decoder is just a 3 MB static site. With PWA, fully offline playback is possible. No customer data, personal information, or confidential data is held.
Bulk Mode Architecture
Supports long audio, high-res images, and long text beyond the single QR's 30-second limit
Opus / Image / Text
The server cannot see balances, revoke credits, or recover lost ones. This asymmetry is intentional by design.
Multi-Layer Restoration Architecture
All paths use ISO / WHATWG standards only — zero proprietary dependencies. Under 100 lines of added code.
| Path | Entry Point | Action |
|---|---|---|
| A. Play QR | Page bottom-left (blue) | Scan → auto-decode → instant play |
| B. Restore QR | Page bottom-right (grey) | Scan → fetch PDF → save |
| C. PDF Link | Inside PDF viewer | Click → browser navigation |
| D. Play Button | Newsletter | ▶ → auto-decode → instant play |
| E. Manual Scan | Page main QR | Scan one by one (works offline) |
| Storage Layer | Medium | Durability |
|---|---|---|
| Physical | Quartz glass / UV laminate | 1,000 yr+ |
| Public | NDL deposit (newsletter PDF) | Permanent |
| Private | GitHub + PWA offline | Immediate |
Migration Roadmap
| Component | Current | Migration Candidate | Trigger | Phase |
|---|---|---|---|---|
| Email Delivery | GAS + Gmail (100/day) | Amazon SES (62,000/mo) | Orders > 100/day | Phase 2 |
| Production | Manual (print, laminate, pack, ship) | Domestic outsource (turnkey) | Orders > 50/day | Phase 2 |
| Partner Payouts | Wise manual (monthly batch) | CSV batch → API automation | Volume increase | Phased |
| Voice Codec | Codec2 WASM (450 bps) | Next-gen low-bitrate codec | QR capacity up or quality demand | 10-yr audit |
| QR Standard | Version 40, ECC-L (2,953B) | rMQR / JAB Code / next-gen 2D | ISO update & reader adoption | 10-yr audit |
| Playback Stack | WebAudio API + WASM | Successor browser APIs | API deprecation notice | 10-yr audit |
Design seams in advance; act before crisis. Swapping a single sendEmail() migrates GAS to SES. Every component is independently replaceable — zero lock-in.