Outfield · 2023 – present
Integration blueprints
Reusable CRM and ERP connectors in TypeScript that customers turn on without an engineer. Used by more than 30 customer accounts.
The problem
Outfield customers keep their deals, contacts, invoices and inventory in other systems, such as CRMs and ERPs. They wanted that data in Outfield too. Each new connection needed an engineer to build and set it up.
What I built
I designed and built the integration blueprints in TypeScript on Node.js. A blueprint is a reusable, two-way connector. A customer turns it on, and it starts to sync data. No engineer needs to help.
I shipped blueprints for Distru, Acumatica, Motus, Airtable and Ekos. They sync deals, contacts, invoices and inventory. For Acumatica, I also built custom syncs together with customers and account managers. I kept the Salesforce and LeafLink integrations running too.
Decisions
Reusable blueprints, not one-off connectors. One blueprint serves every customer who uses the same system. Customers turn it on themselves, so a new account does not need engineering time.
Webhooks instead of polling. The first syncs checked for changes every 5 minutes. I replaced this with webhooks, so a change syncs at once.
Plan for failure. Each system gets its own retry rules, and every failure is logged. Syncs fetch only the records that changed since the last sync. An indicator in the app shows which records are synced.
Result
More than 30 customer accounts use the blueprints, and they have synced thousands of records. They became one of Outfield's main sources of new revenue. All of them are still in production on paid plans.
Stack
- TypeScript
- Node.js
- OAuth 2.0
- Webhooks
- REST APIs