Access Control
One person buying access and sharing the login across a whole unit was a real revenue risk and would have undercut the pricing model from day one.
Solution
The team proposed an institutional licensing model: hospitals purchase access for their entire unit, which removes the sharing incentive and aligns with how hospitals actually budget for software.
Canvas-Based Annotation Editor
Building a production-grade drawing tool in the browser is more complex than wrapping a canvas library. The editor needed undo/redo, layer management, brush tools, and persistent state across sessions, all serialised and stored per illustration.
Solution
The team used Konva / React-Konva for canvas rendering and stored the full editor state as serialised Konva JSON in a PostgreSQL jsonb field per illustration. Thumbnail generation runs on save, keeping the browsing experience fast.
Independent Annotation Layers in Comparison View
The before/after comparison view requires two illustration canvases side by side, each with its own annotation layer. Cross-contamination between the two drawing states would break the feature entirely.
Solution
Each canvas runs as an independent Konva stage with isolated state management. Rendering is synchronised across both views without sharing annotation context, so physicians can mark up each side independently.