Skip to content
Back to projects

Toyota

Automated lead sourcing feeding a drag-and-drop sales pipeline.

I built a B2B platform for Toyota's sales team. It finds prospects without anyone hunting them down and lands them on a board where the team tracks each deal. Two modules, a month and a half of work.

My role
Architecture, sourcing backend and CRM
Sector
Automotriz (B2B)
Scope
App web + Automatización de procesos
A month and a half
Delivery time
2
Modules shipped
Brave API
Sourcing data source
Automotive B2B
Sector

Stack

  • Vue 3
  • Vuetify
  • Node.js
  • Express
  • JavaScript
  • MongoDB
  • Docker
  • Dokploy (CD/CI)
  • Brave API

Screens

Screenshots from the live system.

App web

Prospección automatizada

Búsqueda por puesto y por empresa, recolección de los datos de contacto y lista ordenada por prioridad.

App web

CRM con tableros

Etapas que se mueven arrastrando con el mouse, captura de información y gráficas de resultados.

The problem

The sales team was finding contacts by hand. Hours spent assembling prospect lists before anyone could start a conversation. And once a contact existed, there was no single screen showing where a deal actually stood. Tracking a deal came down to whoever remembered to keep up with it.

What I built

I built two modules that feed each other. The first takes a job title and a company, collects publicly listed contact details and returns a list ranked by priority. The second is a CRM board: stages move by dragging, deal information is captured right there, and a results view charts deals won and lost. One screen, whole pipeline. Vue 3 and Vuetify up front, Node and Express with MongoDB behind it, deployed on Docker with Dokploy CI/CD. A month and a half end to end.

Technical decisions

  1. 01

    Sourcing driven by title and company

    I designed the search around two business inputs — who you want and where they work. Brave API collects contact details that are already published, so a search can be re-run any time the team shifts targets.

  2. 02

    A ranked list, not a data dump

    Results never land raw. They come back ordered by priority so reps work the best leads first. Automating the search is half the job; handing it back in a workable order is the other half.

  3. 03

    Drag-and-drop stages, state that sticks

    I modeled the pipeline as stages, and every move on the board writes state back to the API. The board is the record of deal progress, not a view sitting on top of some other system.

  4. 04

    Capture and won/lost charts close the loop

    Deal information is captured on the same board that drives the charts for deals won and lost. A CRM without an outcome view is just data entry.

  5. 05

    Two modules in production in six weeks

    Vue 3 with Vuetify kept me from rebuilding UI primitives, and Docker plus Dokploy CI/CD handled deployment. That is what held the pace to get sourcing and CRM into production in a month and a half.

Next project

Semsamex

Hundreds of workwear variants, and a product key nobody has to type anymore.