If you've ever worked on a business application, you've probably faced this problem.
You need to generate:
- invoices
- quotes
- contracts
- reports
- receipts
- transactional emails
At first, everything seems simple.
You create an HTML template, generate a PDF, and move on.
A few weeks later, the customer asks for small changes.
"Can you move the logo?"
"Can we change the footer?"
"Can you add a barcode?"
"Can we have a different template for another customer?"
Now you're editing HTML inside your source code.
A new deployment is required for every tiny change.
Eventually, you end up with dozens of template files, duplicated code, and no version history.
The Problems I Kept Seeing
After working on several enterprise applications, I noticed the same issues over and over:
- HTML templates stored inside the application
- No visual editor
- Every modification required a deployment
- No template versioning
- Difficult collaboration between developers and business teams
- Email templates managed separately from document templates
- No centralized API
It quickly became difficult to maintain.
What I Wanted
I wanted a platform where users could:
- create templates visually
- manage all templates in one place
- generate PDFs from JSON
- generate HTML emails
- expose everything through a REST API
- keep a complete history of every template
Without touching the application code.
Building TemplateMaster
That's why I built TemplateMaster.
The idea is simple.
Instead of storing templates inside your application, they're managed in a dedicated platform.
The application only sends JSON.
Everything else is handled automatically.
Features
✅ Visual HTML editor
✅ PDF generation
✅ Email template generation
✅ JSON preview
✅ REST API
✅ Template versioning
✅ Document history
✅ Generated document archive
✅ Email sending
Versioning Was a Game Changer
One feature I didn't initially plan became one of my favorites.
Every template modification automatically creates a new version.
You can:
- compare versions
- restore previous versions
- see who modified a template
- never lose your work
No more copying files like:
invoice_v2_final.html
invoice_v3_final_final.html
invoice_v7_really_final.html
We've all been there 😄
Typical Workflow
- Create a template visually.
- Connect sample JSON data.
- Preview the generated document.
- Publish the template.
- Call the REST API from your application.
- Generate PDFs or emails on demand.
No redeployment required.
Example API
POST /api/v1/document/generate
{
"templateCode": "invoice",
"data": {
"customer": {
"name": "John Doe"
},
"invoice": {
"number": "INV-2026-001"
}
}
}
The API returns the generated PDF.
Simple.
Lessons Learned
Building a document generation platform is much more than rendering HTML.
You also need:
- version management
- storage
- permissions
- preview
- email generation
- PDF rendering
- asset management
- API security
- template history
Those parts usually become harder than the rendering itself.
I'm Looking for Feedback
I'm currently improving TemplateMaster and adding new features.
I'd love to hear how you're currently managing:
- PDF generation
- email templates
- document versioning
What tools are you using today?
What do you wish they did better?

Top comments (0)