During the development of EasyGoHub’s event management platform, bulk ticket printing emerged as a significant performance challenge. The existing Node.js application utilized Puppeteer to generate PDFs from HTML templates. While functional, this setup struggled with complex and dynamic templates, leading to slow rendering times and high resource consumption — especially when processing large batches of tickets simultaneously.
To improve performance, the team attempted to offload PDF generation to a Laravel-based service using DOMPDF. The Node.js app would send the required template and data to Laravel, which then generated and returned the rendered PDF. Although this integration was technically sound, the process remained inefficient and slow, particularly under heavy load. Complex layouts, large datasets, and network overhead between services continued to hinder performance, impacting the user experience and delaying ticket delivery.
To overcome these limitations, the team refactored the Laravel PDF generation service into a dedicated microservice focused solely on PDF processing. The rendering engine was upgraded from DOMPDF to SnappyPDF (wkhtmltopdf), offering faster and more reliable performance for complex, HTML-based ticket designs.
A queuing system was then introduced to handle parallel PDF generation, allowing multiple files to be processed simultaneously without blocking the main application flow. This architectural improvement drastically improved speed, scalability, and reliability.
However, since queued jobs couldn’t return data directly via HTTP responses, the team implemented a webhook-based notification system. Once a PDF was successfully generated, the Laravel microservice triggered a webhook to inform the Node.js server, which then used Socket.IO to deliver the PDF to the frontend in real time.
This end-to-end optimization resulted in a smooth, responsive, and efficient printing workflow, reducing delays, improving performance, and providing users with a seamless experience — even during high-volume ticket generation.
Through strategic refactoring and performance optimization, Rexav successfully transformed EasyGoHub’s ticket printing workflow into a highly efficient and scalable system. By introducing a dedicated microservice, upgrading the rendering engine, and implementing asynchronous processing with real-time notifications, the team achieved a balance between speed, reliability, and user experience. This solution not only resolved the existing performance bottlenecks but also laid a strong technical foundation for EasyGoHub’s future scalability and feature expansion.