Pest Nocturne 🪲

A midnight specimen-cabinet study suite for the WSU EM019 pest management certification exam. The complete Study Manual for Pest Management Professionals rebuilt as an interactive, illustrated single-page app.

Live

https://nocturne.thetempleofdoom.com

What's inside

  • Field guide — all 13 chapters with illustrated plates
  • Identification keys — branching keys, walked one couplet at a time
  • House faults — 22 points of faulty construction/maintenance, in order
  • Flashcards 🔒 — premium
  • Practice exam 🔒 — premium (scored, with the official answer key)
  • Glossary — every defined term, searchable as you type

Monetization

Freemium: the field guide, keys, and house faults are free. Flashcards and the practice exam are a $5 Bitcoin unlock via BTCPay.

  • BTCPay store: FDT6DHWEaA7DF5WFePkp4pufgQ9yy1G6JfzTCwey1jYn
  • Price: $5 USD (on-chain BTC)
  • Flow: /unlock → BTCPay invoice → /webhook/btcpay (InvoiceSettled) → client polls /api/status → unlocks

Stack

  • Single self-contained index.html (vanilla JS SPA, no build step)
  • Flask (app.py) for the paywall + BTCPay webhook
  • nginx reverse proxy → Flask :5000
  • SQLite (orders.db) for order state

Deploy

  • Proxmox LXC CT 117 (nocturne) @ 10.30.20.234
  • systemd nocturne.service, nginx sites-enabled/nocturne
  • Cloudflare tunnel thetemple-fleet (1aeb1ac0), ingress → :80

Files

  • index.html — the study suite + injected paywall gate + BMAC footer
  • app.py — Flask backend (BTCPay invoice, webhook, unlock status)
  • inject.py — one-shot script that injects the paywall + footer into the HTML
  • nocturne.service / nocturne.nginx — service + nginx config
Description
WSU EM019 pest management study suite — freemium BTCPay paywall
Readme 14 MiB
Languages
HTML 79.3%
Python 20.7%