Cutting template creation from days → hours
Reframing a document generation workflow to remove a 2 to 3 day engineering bottleneck.
This is a deep dive into output generation, a part of a broader form ecosystem.
A Hidden Dependency
Behind Every Document
Organizations use complex forms to collect student data and generate official form outputs. But the workflow behind it required an engineer to manually create a template for each form. It required manual data mapping, multiple validation cycles, back and forth before the template reached production.
The original requirement was to improve the PDF creation experience. But as I mapped the actual workflow, it became clear that PDF creation wasn't the problem. The real issue was a hidden dependency that required days of an engineer's work to manually map form data into an output template layout.
Where Effort Was
Actually Being Spent
I started by mapping the full workflow of the users, admins, engineers, and system dependencies to understand where effort was actually wasted and who was affected by it the most. I found that most of the time was going into linking the template with the system rather than designing it.
Form Setup
Questionnaires are created and the system generates response codes.
PDF Template
Engineers create a static PDF template with required fields
Code Mapping
Each response code is manually mapped into exact pixel coordinates
Upload & Test
Template is uploaded to the system, tested and corrected until production.
This process introduced friction at every step. Users had no way to easily configure the outputs these forms generated. What was supposed to be a self-serve model the platform was built on, stopped working the moment a document was involved.
From Interface Polish
to Workflow Redesign
The original requirement was to make PDF creation easier.
“How might we make PDF creation easier?”
But once I understood the workflow, I realised that it was not really a PDF issue. It was the manual mapping that was taking up the engineer's time. So, I rephrased the requirement:
“How might we remove manual mapping and enable non-technical admins to create templates on their own?”
This reframing changed the scope from a simple UI revamp to workflow redesign. By removing unnecessary steps, we would make the complex manual workflow simple.
Challenge
The challenge was to build it in a way without affecting the legacy backend and build on the mental models that users already understand.
Rethinking the Workflow
After several rounds of discussions with the stakeholders, we shortlisted 4 design principles that formed the basis for the new design.
From Manual Workflows
to a Visual System
Automated Code Mapping
Users select form questions from a list using an interface that focused on what they are trying to do, not how the system is doing it. The system handles response codes automatically in the backend.
- Less cognitive load
- No memorisation of codes
- Fewer mapping errors
- Easier for new users to pick up
Visual Builder
Template creation is now moved entirely inside the product. A visual builder without the bloated functions of a PDF tool is built within the product. Even non-technical admins can now create templates within minutes.
- Users can now see the output as they build
- No need to switch between the app and PDF tools
- Instant updates
Flexible Customizations
Users can now adjust layouts and styling easily. Enough control to handle real variation without adding a new learning curve.
- Simple yet flexible customization
- No need for external PDF tools
JSON Templates
The visual builder made mapping automatic. But the underlying PDF model would have kept the same problems — every modification requiring a base file regeneration, more storage, and slow maintenance. I proposed moving to a JSON-based template model. Documents are generated on demand, only when needed. No base file to maintain.
- No base PDF file to maintain
- Edits are applied instantly
- Documents generated on demand
- Reduced storage
Smart Organizational Defaults
Most organizations were rebuilding output templates with similar headers and layouts from scratch every time. I introduced predefined org defaults so users could start from a default template and only work with the form fields.
- Faster setup
- Reduces repetitive work
- Ensures consistency
- Better control for organizations
Engineering bottleneck to
a Self-Serve Capability
Output creation went from an engineering workflow to a self-serve functionality.
Operational impact: Time to create a template reduced from multiple days to a few hours. Onboarding new organizations has gotten faster. Customer requirements could be turned around more quickly.
Product impact: Engineering was no longer needed for routine template work. The platform became more autonomous. Self-serve capabilities got meaningfully stronger.
User impact: Non-technical admins could create, manage, and iterate on output templates without knowing anything about response identifiers, coordinate systems, or PDF tooling.
2–3 days of dedicated engineer time per template, with external software and manual coordinate entry.
1–3 hours by any non-technical team member, entirely inside the product. No external tools. No engineers.
Exploring a More Radical Idea
During discovery, I proposed a larger improvement that could make the entire process even more seamless. The current workflow still treated forms as the source of truth. But most of the information users were collecting already existed somewhere in the platform.
"What if we design the output first and let the system determine what information is actually missing?"
This was out of scope for this release as it required rewriting core system logic. But it shaped how we started thinking about where the platform could go.
The ask was to make PDF creation easier. The real opportunity was understanding why it was hard in the first place. Once I mapped the workflow and found the hidden dependencies, I could remove a major part of the workflow rather than just making it less annoying.
The result was more than a better interface. It was a simpler system.