Skip to content
Custom software and integrations

Software for the parts of your business nobody else builds for

Every business has a few workflows that no off-the-shelf product handles well. That's often where your edge is. We build custom apps, integrations, and portals that fit those workflows exactly and connect them to the rest of your operation.

Start a project

When the gaps are filled by hand

Your ERP handles orders, but the shipping platform needs them retyped. Your design team works in CAD, but someone rebuilds every bill of materials by hand. The bank, the printer, the CRM, and the spreadsheet each hold part of the truth. The gaps between systems are where hours disappear and mistakes creep in.

Custom software closes those gaps. Sometimes it's a small integration that saves an hour a day. Sometimes it's a whole application built around a process only your business has.

What we build

Integrations

We connect your business system to the services you already rely on, so data flows once and stays in sync:

  • Shipping and tracking: ShipStation orders, drop-shipping, packing logic, and shipment tracking through 17Track.

  • Banking: Mercury Bank receivables, ACH payments, and reconciliation.

  • Mail and messaging: physical letters through PostGrid, two-way SMS through Twilio, and email delivered through Cloudflare.

  • Design and production: CAD data turned into bills of materials and pricing, and ERP-driven control of RIP printing software.

  • CRM and spreadsheets: Salesforce flows and apps, data migrations, and live pricing sync between Salesforce and Google Sheets.

Custom apps on Frappe and Odoo

New document types, workflows, reports, and screens built directly inside ERPNext or Odoo, so they share the same data, permissions, and look as the rest of your system.

Portals and customer-facing tools

Client project portals, customer inspection reports, online estimate approvals with e-signatures, and progressive web apps that work well on phones and shop-floor tablets.

Internal tools and web apps

Focused tools for the people inside your business: spreadsheet-style editors for product data, live production screens, dashboards, and modern front ends built with Vue and TypeScript. We've also built a multi-season league management app for a community organization, with scheduling, standings, and tournaments.

Practical AI

AI where it earns its place: image flagging for print quality control, document extraction, and summaries. When privacy matters, we run local language models or use Cloudflare Workers AI so your data stays under your control.

How we build it

Fit first

We start by understanding the workflow and the people in it, then build the smallest thing that solves the real problem.

Tested

Custom code ships with automated tests, so changes and upgrades don't quietly break what you depend on.

Built with the grain

We follow the native patterns of each platform, which keeps upgrades smooth and the code familiar to other developers.

AI-augmented, human-reviewed

We use AI-assisted development to make tailored software affordable for a small business, and every change is reviewed and tested by people.

Yours

All the code we write for you transfers to you on payment. When something we build would help others, we generalize it and publish it as open source.

Open-source building blocks

Open-source catalog →
Frappe · MIT

mercury_integration

Mercury Bank receivables, ACH, and reconciliation for ERPNext.

Frappe · MIT

postgrid_integration

Mail any ERPNext print format as a physical letter.

Frappe · MIT

messaging

Two-way Twilio SMS and a unified chat inbox for ERPNext.

Frappe · MIT

esign

E-signatures with an audit trail on any ERPNext document.

Frappe · MIT

erpnext_taskview

Project timers, hour budgets, and a customer project portal.

Odoo · AGPL-3.0

AI for Odoo

Cloudflare Workers AI as an AI provider inside Odoo.

See the full open-source catalog, or read our Frappe developer guides.

Have a workflow that doesn't fit the box?

Tell us about it. We'll help you figure out whether it needs a configuration change, an integration, or something built from scratch.