Visualsoft Partners
Proposal builder and referral system
I engineered Visualsoft Partners as a centralized internal ecosystem to bridge the gap between external lead generation and internal agency operations.
By architecting a unified platform for referral tracking, automated commission management, and a custom proposal builder, I replaced fragmented legacy processes with a centralised tool that streamlined the entire lifecycle.
Key areas of the system include:
Referral Management
One of the key areas of this system was to allow for partners to submit referrals to Visualsoft for any of its services.
Partners could submit any number of referrals, and those that where successful, they would earn a commission for.
From within the system, they could see details of commissions earned per referral, as well as a central area to view all commissions earned and paid.
Proposal builder
The other key area was a tool for our internal agency to create proposals for our clients, listing out services, features and costs for our eCommerce platform, marketing services and more.
It allowed for the creation of versioned proposals, allowing the agency team to tweak the proposal when clients asked for changes, keeping a history of every version that went to the client, and allowing them to still "go ahead" with an earlier proposal.
It also synced the status of the project with HubSpot, the CRM tool that the agency team uses for all communications with current and prospective clients, allowing them in import a project from HubSpot once it had reached the proposal stage, or any time before that.
Once a deal was won, it would then import into the existing Project system used by other departments.
It also has screens that allow the agency teams to build up proposal templates for different services, allowing them control of the generated proposals.
Technical Details
This application was build from the ground up using a more modern tech stack than was usually the case at Visualsoft, so it really gave me the chance to dive into a more modern way of development.
Laravel and Vue JS where chosen for the task, with the styling being handled via Tailwind CSS. This was started around the same time that Inertia JS started to be developed, so the Laravel to Vue set up was done manually using Blade as a middleman (knowing what I know now, I would have even taken their v0.1 version).
Vue JS was the perfect tool for the tools within the application, like the Proposal builder, as it gave the ability to offer realtime updates to the user, without having to write the complex logic you would normally have to write for this (coming from jQuery this was blissful).
And the use of Laravel, and more modern version of PHP meant that we could utilise things like Jobs and Queues to handle slow processes, like pushing things out to third party systems (like HubSpot) without slowing down the response times to the user.
It was also the first project where I could really dive into testing, and I took a heavy TDD approach on this, and often had the entire backend of a section fully working before I even added to UI for it.
A lot of the techniques and technology used here are now everyday skill and tools for me, but this is the project that really kicked of a modern programming approach for me.