commercial / 2024-2025
Voyager - Canvas Rendering System
Migrating a large-scale diagramming platform from SVG to Canvas rendering.
Helped migrate StructureFlow's diagramming platform from SVG-based rendering to a Canvas-based rendering system designed to better handle large and complex project diagrams.
Engineering Context
Voyager was a new Canvas-based rendering system developed to improve the scalability and performance of StructureFlow's diagramming platform as project complexity increased.
A large part of my work involved debugging rendering behaviour, handling legacy diagram data, resolving migration edge cases and maintaining compatibility between old and new rendering approaches.
Beyond rendering work, I also contributed across the wider frontend platform using React and Plate, including import/export workflows supporting PPTX, Excel, CSV, Word, PDF and image formats.
The project required balancing rendering performance, maintainability, backwards compatibility and real-world enterprise client requirements within a large evolving codebase.
Due to the proprietary nature of the platform, some implementation details and visuals cannot be shared publicly.
Technical Aspects
- SVG-to-Canvas migration
- Legacy diagram compatibility
- Rendering-mode parity
- PPTX, Excel, CSV, Word, PDF and image export workflows
- Enterprise workflow debugging
Challenges
- Years of historical client data created migration edge cases and subtle rendering differences.
- The platform needed to expand beyond its original legal-sector focus into financial-sector workflows.
- Rendering performance, maintainability and backwards compatibility had to be balanced inside a large evolving codebase.
Contributions
- Debugged rendering behaviour across legacy and modern diagram workflows.
- Resolved migration issues caused by historical client data and older rendering assumptions.
- Contributed across the wider React application, including Plate-based editing and import/export systems.
- Worked closely with enterprise clients and engineers to troubleshoot real workflow issues.