Backend & synchronization

Smartlistzero

Go-powered CRM synchronization and performance analytics across 70+ agencies managing approximately 5 million contacts.

  • Backend
  • Distributed systems
Smartlistzero interface

The context

Smartlistzero is a dashboard for US real estate agency owners who use the Follow Up Boss CRM. Owners need a clear picture of agent activity across large CRM datasets, including when agents clear their assigned lead queues.

My contribution

  • Built the Go synchronization engine: it collects CRM records from Follow Up Boss, processes them, and stores them in the database for 70+ accounts, within third-party API rate limits.
  • Scaled the engine to handle 4M+ updates per 10 seconds.
  • Integrated CRM contact data with analytics for agent productivity and pipeline health.
  • Cut a critical dashboard query from roughly 3 minutes to 8 seconds using precomputed summaries, incremental updates, and caching.
  • Engineered for constrained compute, including a 1 GB RAM, single-core environment, by reducing the data received per update from 72 bytes to 3-4 bytes.

Challenges & solutions

Synchronizing millions of CRM records within API limits.

Built the synchronization service in Go and integrated the Follow Up Boss API to process CRM data under resource and rate-limit constraints.

Turning CRM activity into useful operational insights.

Connected lead-queue completion data to agent productivity and pipeline-health views.

A critical dashboard query took roughly 3 minutes because too much was computed at read time.

Moved the heavy computation off the read path with precomputed summaries, incremental updates, and caching, so the dashboard reads prepared results instead of recalculating. This cut the query to about 8 seconds.

Ingesting a very high volume of CRM record updates.

The Go sync engine collects records from Follow Up Boss, processes them, and stores them in the database, handling 4M+ updates per 10 seconds.

Sustaining that update rate within 1 GB of RAM on a single core.

Reduced the data received per update from 72 bytes to 3-4 bytes, keeping memory and processing within the machine’s limits.

Pipeline overview

A simplified view of the workflow.

  1. Follow Up Boss API
  2. Go sync engine
  3. Database
  4. Summaries & cached dashboard

Scope & outcomes

Client agencies
70+
Contacts managed
~5M
Record updates handled
4M+ / 10 s
Critical dashboard query
3 min → 8 s

Public project overview. Client code and internal operational data are not included here.

Building something related?

Tell me about the problem, the constraints, and what success would look like.

Discuss a similar project