GKPGE form builder tool for internal CMS
I worked at PGE Systemy as a frontend developer, where I built a form builder integrated into the company’s CMS platform designed for creating websites within the corporate group. Form builder panel itself was based on Angular with TypeScript and integrated with a Symfony/Twig backend. The form builder allowed users to create dynamic forms using drag and drop components such as containers, columns, inputs, and selects. It also supported setting dependencies between fields as well as defining custom submit actions. Once a form was created, its structure was exported as JSON and processed by the Symfony backend, which generated the form layout. On the client side I created the JavaScript that restored all dependencies, interactivity, and dynamic behaviors defined in the builder.
Scope of Work
- Angular
- TypeScript
- RxJS
- TWIG
- SCSS
The Approach.
See how we did it.

Client Requirements Gathering
Understanding Needs
Initial meetings with stakeholders to understand business needs, user expectations, and technical requirements for integrating a form builder into the CMS.
Designed custom logo reflecting mechanical precision
Selected color palette balancing trust and energy
Created comprehensive brand guidelines document
Developed consistent visual language across all touchpoints

Architecture and Planning
Blueprint for Success
Planned the architecture of the form builder, including component hierarchy, state management, and integration points with the existing CMS backend.
Data structure design for form components and properties
State management strategy using Zustand for efficient updates
Performance considerations for drag-and-drop interactions

Implementation and Development
Building the Solution
Each field and layout type was developed as an independent, reusable React component with centralized form state management.
Drag-and-drop logic was implemented using react-dnd to enable intuitive editing and real-time interface synchronization.
Every form modification generated a consistent JSON structure, sent to the Symfony backend for rendering.
On the frontend, the JavaScript restored all dependencies and interactivity defined in the builder.
Extensive error handling and flexible component APIs were added to make it easy to extend the system with new field types and validation logic.

Testing and Deployment
Design That Drives Business
Deployment into the CMS testing environment
Conducting thorough QA, including cross-browser testing and validation of JSON output
Training content managers on how to use the form builder effectively
