[devloop]

Ottawa, Ontario

The month-end close should not take four people and eleven spreadsheets.

Devloop builds the unglamorous software behind back office operations. Data pipelines, reconciliations, imports, exports, and the small internal tools that sit between systems nobody wants to replace.

run 4471 · nightly-ap-close running
extract validate reconcile load notify
02:00:04  extract    erp.invoices            1,482 rows
02:00:11  validate   schema v3               pass
02:00:14  reconcile  bank vs ledger          3 unmatched
02:00:16  load       warehouse.fact_ap       1,482 rows
02:00:17  notify     finance list            sent
02:00:17  done in 13.4s

What we build

Three kinds of work, mostly

Every engagement starts with someone doing a manual job on a schedule. The work is figuring out what that job actually is, then writing something that does it without them.

Pipelines

Moving data between systems that were never meant to talk

Scheduled extracts, format conversion, validation, and loading into a warehouse or another application. With a run history you can look at when someone asks why a number changed.

Reconciliation

Matching two sources of truth and flagging what does not line up

Bank statements against the ledger, supplier invoices against receiving, payroll against the HR system. The exceptions land in one queue instead of six inboxes.

Internal tools

Small web applications for a specific team

Intake forms, approval queues, reporting views. Built for the fifteen people who use it daily rather than a market of thousands, which makes it a much smaller job.

How an engagement runs

Four steps, in this order

01

Watch the current process

Half a day with whoever does the work now. We want to see the actual spreadsheet, the actual export, and the parts of the process that only exist in someone's head. Most of the surprises show up here rather than later.

02

Write down the scope and a fixed price

A short document listing what gets built, what does not, and what we need from your side. If the scope turns out to be wrong, we say so before writing code rather than billing through it.

03

Build in two week increments

Something runnable at the end of each one, in an environment you can log into. You are not waiting three months to find out whether we understood the requirement.

04

Hand over the source and the runbook

Code in your repository, deployment documented, and a walkthrough with whoever will own it. Ongoing support is available and optional. You are not locked in to us to keep it running.

Plainly

We are a small shop and we work like one

You talk to the people writing the code

No account manager relaying requirements. The person who sat in the discovery session is the person committing the changes.

We turn down work that does not fit

If a product you can buy already does the job, we will tell you which one. We would rather lose the engagement than build a worse version of something off the shelf.