Observer: Optimized QR detection for inside museum.
UI: new URLs, placeholder exhibit page.
Cleanup: refactore graph routines into separate file