In 2023, I built a web application that helps users EASILY find leads for their business using forms.
The application provides everything for finding leads:
- A form builder (with multi-step and custom fields support).
- A CMS to manage the leads.
- Advanced analytics (on user behavior and form performance).
- And much more!
This application is made using the following technologies:
Contact me for a demo or if you have any questions.
The application had a lot of requirements.
Here are some of them:
- An application user must be able to create/edit multi-step forms with custom fields.
- An application user must be able to embed the form on an external website.
- A user must be able to submit the form.
- An application user must be able to see form analytics on views, submits, and clicks.
- An application user must be able to manage the leads (CMS).
- The application must have a dark/light theme.
- And much more.
The application development took approximately 4 months, because of the complexity of the application and the many features required.
The application had four different parts:
- The back-end (written in TypeScript and Nest.js)
- The front-end (written in TypeScript and React)
- The form plugin library (written in TypeScript and React) that a user can embed on a website.
- A utility project that contains all the shared code.
I used Turborepo to easily manage the projects and optimize the build time of the application.
For state management, I chose Zustand, my go-to state management solution.
As for the component UI library, I chose MUI. This library contains all the necessary components for building a modern web application and speeds up the development immensely.
For the reporting part, I chose Chart.js, an easy-to-use solution for displaying charts on the UI.
Here are some screenshots taken from the application.
The dashboard screen:
The reporting page:
The fields list page (light mode):
The field update page:
The form builder page (when editing a field):
The password settings page:
The development of this application was smooth, and I enjoyed working with the client.
I also enjoyed learning and exploring new technologies such as Chart.js and Nest.js.
I am very proud of the result; this is one of my best performances!