PGEN — Professional PowerPoint Generation
Inspiration
Many presentation generators create slides quickly, but the results are often inconsistent, difficult to edit, or simply exported as images. I wanted to build a tool that combines automation with real corporate design standards.
What It Does
PGEN lets users configure reusable style guides with colors, fonts, logos, spacing, backgrounds, and widget styles. They can then create presentations from layouts such as title slides, KPI overviews, section dividers, and text-image compositions. The generated .pptx contains native, editable PowerPoint objects instead of flattened slide images.
How I Built It
PGEN uses Angular for the visual editor, ASP.NET Core and .NET 10 for the backend, PostgreSQL for persistence, and the Open XML SDK for native PowerPoint generation. A shared scene model keeps the browser preview and PowerPoint output consistent. The whole project was created using Codex MacOS app and 5.6 Sol (medium) only.
Challenges
The hardest parts were reliable text and image geometry, configurable padding, dynamic widget layouts, and preserving native PowerPoint editability. PowerPoint generation turned out to be less of an XML problem and more of a layout and design-system problem.
What I Learned
I learned how important semantic slide structures, Slide Masters, layout constraints, and complete end-to-end testing are. A technically valid PowerPoint file is not enough—the entire editing and export workflow must remain predictable.
What’s Next
Next steps include more widgets, richer style customization, reusable presentation sections, native charts, improved visual testing, and broader PowerPoint compatibility. Polishing is needed as well ;)
Additional Remarks
The project is explicitly still work in progress! So please don't expect production quality yet. And: sorry for the bad video but I had to hurry since I just got to know today (Jul/19) of this openai-build-week. I am celebrating my birthday today and having a business trip starting early tomorrow (Jul/20). Otherwise there would be more 'love' (and an english localization as well :)) from my side!
Built With
- angular.js
- csharp
Log in or sign up for Devpost to join the conversation.