Envion Software
CS-097Project RescueDocument Software / Non-technical Founder

Rescuing an AI-Generated PDF Editor That Had No Architecture Underneath

A non-technical founder built a PDF editor with AI coding tools — a standalone web app plus a plugin for the software people already use when they handle large volumes of paper documents — and got further than most people expect. Then it stopped working, and he had no way to find out why. He had committed to partners and taken investment; walking away was not available. Envion’s audit found the code itself was genuinely decent — what it lacked was architecture: no separation of concerns, no shared state model, no error boundaries, logic duplicated between the web app and the plugin, and memory behaviour that passed demos on small files and failed on the multi-hundred-page documents the product exists to handle. The rescue restructured rather than rewrote — a shared core package consumed by both surfaces eliminated the entire class of "fixed in the app, still broken in the plugin" defects — and delivered into production ahead of the deadline.

Rescuing an AI-Generated PDF Editor That Had No Architecture Underneath
01

The challenge

The client had an idea and no software background — no development experience, no architecture knowledge, and no way to evaluate what he was building as he built it. He used AI coding tools to produce the PDF editor, got further than most people expect, and then it stopped working — with no way to find out why.

The pressure was not technical. He had committed to partners and taken investment. Walking away was not available. He needed a vendor who would finish it rather than tell him to start over.

The code itself was genuinely decent — that surprises people who expect AI output to be garbage. Line by line, it usually isn't. What it doesn't have is a plan: every file was written as if it was the only file in the project, so nothing knew about anything else, and the bugs only showed up once enough of them were talking to each other.

02

Decision path

The audit came before touching anything — mapping what existed, what worked, and which failures shared a root cause. Most of the reported bug list collapsed into a small number of underlying issues, and they were architectural, not code quality: no separation of concerns, so a change in one place produced failures somewhere unrelated; no shared state model, so each feature managed its own copy of the document state and they drifted apart — which is why edits appeared to work and then silently reverted; no error boundaries, so one failing operation took down the session; duplicated logic across the web app and the plugin build, so a fix in one never reached the other; and memory behaviour under real file sizes that passed demos on small files and failed on the multi-hundred-page documents the product exists to handle.

Everyone asks whether we rewrote it. We didn't, and that was the whole point of the engagement. The client had paid for that code twice already — once in tokens and once in months. The job was to find the seams, put structure around what worked, and replace only the parts that couldn't be saved.

03

Envion contribution

Structure was introduced incrementally, feature by feature, with the product working at every step — a rescue that goes dark for six weeks is a rewrite wearing a costume. The architectural decision worth highlighting: a shared core package consumed by both the web app and the extension, so document logic exists once and both surfaces build from it. That single change eliminated the entire class of "fixed in the app, still broken in the plugin" defects.

QA verified each fix against the original reported symptom, not against the code change. The client reported behaviour, not stack traces — so closure had to be proven in his terms. Delivered ahead of the deadline, into production.

04

Delivery

The client still builds with AI tools, and that is his call to make — it is his product and he ships faster that way. Envion supports the project on an ongoing basis: when generated code introduces a regression or breaks an architectural boundary, it gets caught and corrected.

That arrangement is the honest version of what a lot of teams are doing now. The value is not stopping people from using AI to build. It is having someone who can tell when the output has quietly stopped being coherent.

05

Outcome and evidence

The product shipped into production ahead of the deadline, with the reported issue list resolved at its root causes rather than at its symptoms. Outcome instrumentation — reported issues resolved, the underlying root causes behind them, delivery days ahead of deadline, production uptime since launch, and maximum document size supported before and after — is tracked against the project record rather than asserted here.

From the engagement lead

What I’d tell anyone considering this

Val G.

“The code itself was genuinely decent. That surprises people who expect AI output to be garbage — it usually isn’t, line by line. What it doesn’t have is a plan. Every file was written as if it was the only file in the project, so nothing knew about anything else, and the bugs only showed up once you had enough of them talking to each other.”

Val G. · Senior Full Stack Developer, Envion Software

Evidence gate. This page publishes only what Envion's project records and client disclosure permissions support. Outcomes are added once verified against a baseline, a measurement period, and an approved source.

FAQ

Questions about this case

Facing a similar challenge?

An AI-built app that demos beautifully and breaks in production? Envion finds the seams, keeps what works, and puts architecture around it — without billing you for a rewrite you don’t need.

Discuss a Similar Challenge

Executive Technology Leadership

Support for high-stakes product and AI decisions

Bring senior technology leadership into the business when the roadmap is unclear, delivery is at risk, an AI initiative needs stronger ownership, or the company needs an experienced technical voice before hiring a permanent CTO.

Discuss Interim CTO Support

Core responsibilities

  • Align product and technology priorities with business goals and measurable outcomes.
  • Review architecture, delivery risks, data foundations, security needs, and AI readiness.
  • Lead internal teams and external partners through a practical execution plan.
  • Clarify team structure, ownership, decision rights, and delivery cadence.
  • Support investor, board, partner, and due-diligence conversations with credible technical judgment.

New experience

Prompt-to-Page — try it right here

Describe the landing page you want, in your own words. We turn it into a finished page and email you a private link in 5–10 minutes — no briefs, no calls, $0 to see the result.

  1. Describe what you want to create.
  2. We structure, write, and compose the page.
  3. You receive a private link when it is ready.

Start with a sentence — the interactive builder takes it from there.

Generate My Page

Safe, respectful content only. No obligation.

Start here

Discuss a Similar Challenge

Share your current state, constraints, and desired outcome — a senior specialist will reply with a concrete next step.

Prefer a direct channel?