LeadGetter (Application)

Tim Mouskhelichvili
Tim Mouskhelichvili
2 minutes to read

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!
leadgetter

This application is made using the following technologies:

  • TypeScript
  • Nest.js
  • React
  • Turborepo
  • Zustand
  • Chart.js

Contact me for a demo or if you have any questions.

Requirements

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.

Development

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.

Some screenshots

Here are some screenshots taken from the application.

The dashboard screen:

leadgetter dashboard dashboard

The reporting page:

leadgetter reporting page

The fields list page (light mode):

leadgetter  leadgetter fields

The field update page:

leadgetter leadgetter

The form builder page (when editing a field):

leadgetter leadgetter

The password settings page:

leadgetter leadgetter

Final thoughts

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!

TypeScript
React
Nest.js
Chart.js