A multi-tenant sales-document platform for creating, approving, sending and e-signing interactive quotes, proposals and contracts, with structured content, pricing and integrations across web and native apps.
Visit the product websiteA sales document is more than formatted text: content, pricing, data, approvals, delivery, signing and integrations all have to agree. As the product grew, the hard problem was keeping that shared document model reliable across the editor, customer-facing viewer, PDF output and connected systems without breaking documents customers had already created.
As Principal Engineer within the Corporate Interactive team, I worked across the platform rather than owning one isolated screen. My contribution centred on the document and editor architecture, shared rendering behaviour, pricing and spreadsheet capabilities, integrations, platform migrations and the reliability work needed to evolve a long-lived product safely.
QuoteCloud is Corporate Interactive's sales-document platform. It gives teams a structured way to create proposals, quotes, contracts, reports and other customer-facing documents rather than treating each one as a collection of disconnected files. The public product includes interactive pricing, reusable content and templates, approval and e-signing workflows, delivery tracking, automation and integrations. Its editor supports richer material than ordinary text—including tables and spreadsheets, forms, diagrams, timelines, media and embedded documents—so the same document can carry the commercial detail and the presentation around it.
Behind that experience is a multi-application system. Authors work in a browser-based editor, recipients use an interactive viewer, documents can be rendered for PDF and print, and adjacent services support email, native apps and external integrations. That breadth is why the central engineering challenge is consistency: the same document has to mean the same thing everywhere it appears.
I built QuoteCloud as part of the Corporate Interactive product team, not as a solo project. The repository history reflects a long-running product with contributions from multiple engineers and a steady flow of product, customer and support feedback. Work moved through pull requests and shared packages, with changes often crossing the editor, renderer, data model and integration surfaces at once.
My responsibility at Principal Engineer level was to help the team make those cross-cutting changes without turning every feature into a one-off. That meant establishing clearer contracts between packages, reviewing and integrating other engineers' work, planning migrations, debugging production behaviour and balancing new capability against compatibility with documents already in use.
My work has covered the block editor and its selection, drag-and-drop and toolbar behaviour; pricing, fees and spreadsheet functionality; headers, footers and document layout; embedded PDF handling; session recovery; and the shared paths that keep interactive and generated output aligned. I have also worked on platform evolution—including the Next.js application, real-time collaboration and data layers—and on connected products such as Zapier and Salesforce integrations.
The role is deliberately broad. Sometimes the highest-value contribution is an architectural change or migration; sometimes it is tracking a subtle editor interaction through several layers; and sometimes it is making an existing workflow recover cleanly when a session, network request or third-party system fails.
QuoteCloud taught me that a serious editor is an ecosystem, not a text box. A small interaction change can affect selection state, persistence, collaboration, rendering and export, so the durable solution usually lives in the model and contracts rather than in a local UI patch. It also reinforced that technical leadership on a mature product is largely about creating safe paths for change: making boundaries understandable, reviewing carefully, sequencing migrations and leaving the system easier for the next engineer to extend.
Against the busiest platform on record (882 sessions)
Hours are wall clock with an agent in the loop — specifying, reviewing and correcting, not just generating.