Cases

Systems we built, and what changed for the business.

Every case below is a system that runs today — not a pitch deck. We show the challenge as the client framed it, what we built, and the result we can stand behind. Where a number comes from someone else, we say so.

Market intelligence · Agri-commodities

A market-intelligence platform in production since 2013

Traders, processors, and exporters in the global grain and oilseed markets buy and sell against prices that move every day. Getting those prices late — or getting them wrong — is expensive.

Challenge
The agri-commodity market needed one reliable place for daily price and futures intelligence. The underlying data was scattered across exchanges, government reports, and regional cash markets, each in its own format and on its own schedule — and it had to be current every single morning, not eventually.
Solution
We built a market-intelligence platform that collects, cleans, and publishes that data continuously: futures, USDA reports, and cash prices flow through automated pipelines into a single product, with a market-data API for customers who want the numbers inside their own systems and subscription billing on top.
Result
The platform has been in continuous production since 2013 and is used by 10,000+ companies worldwide (per AgroChart). It has kept running, and kept being extended, through more than a decade of market and data-source change.

Our role: developer on a long-running engagement — a decade of building and maintaining the platform, not a one-off delivery. Built on Django, PostgreSQL, and Celery.

Read the full case →

Tender & RFP analysis · Ireland

Tender analysis that takes minutes instead of days

A bid team can only chase so many tenders at once. The cost of qualifying one is measured in senior people's days — and most of that time is spent on tenders they end up not bidding.

Challenge
Every tender arrives as a pile of documents — the notice, the specification, and dozens of attachments — with the requirements that actually decide the bid scattered across all of them. Reading that set carefully takes days of expert time, and it has to happen before anyone knows whether the tender is worth pursuing at all.
Solution
We built and continue to run an AI SaaS product that reads the full document set and produces a structured audit of the requirements, so a bid team gets a clear read on what the tender demands and whether it fits — early, while there is still time to act on it.
Result
From days of manual review to minutes: a full audit typically completes in about 15 minutes (5–20 depending on document size). The product is in production with active users, and we support and extend it under an ongoing retainer.

Client confidential at their request. We can discuss the outcomes on a call; the internals stay private.

Read the full case →

Financial-statement extraction · SEC filings

SEC filings turned into spreadsheets, automatically

Analysts who compare companies need the numbers in rows and columns. The filings that contain those numbers are written to be read, not to be parsed.

Challenge
Financial figures were locked inside SEC 10-K and 10-Q filings — hundreds of pages of narrative and tables, with every company laying its statements out differently. Getting them into a model meant an analyst re-keying figures by hand, filing by filing, with every manual step a chance to introduce an error.
Solution
We built an extraction system that reads the filings, identifies the financial statements inside them, and exports the figures to Excel in a consistent structure — covering all five statement types rather than just the headline income statement.
Result
Up to 98% extraction accuracy across all five statement types, with output landing directly in the spreadsheet format the analysts already work in.

Delivered as a document-processing pipeline; accuracy measured against manually verified filings.

Read the full case →

From our R&D

What we prove before it reaches your project.

Some capabilities we develop on our own R&D projects first, so the method is tested before a client pays for it. These two are R&D we ran — not client production systems — and the numbers below come from those R&D runs.

Legacy migration without a big-bang rewrite

We migrated a 44,000-line PHP codebase to Python unit by unit — 11 of the 14 units, 79% of the system, with 918+ tests written along the way and zero broken API endpoints. The point of the exercise: prove a legacy system can move incrementally, staying usable the whole time, instead of going dark for a rewrite.

Read the full case →

Keeping AI spend predictable

We built a gateway that sits in front of AWS Bedrock and enforces budgets per team, with full observability over what is being spent and by whom. Across the R&D budgets we ran through it, the overshoot stayed under 1% — the difference between AI costs you can plan around and AI costs you discover at the end of the month.

Read the full case →

Have a document problem that looks like one of these?

Tell us the one document type that eats the most of your team's time. We'll come back with what AI can realistically do with it — on your data, with the numbers we'd be willing to publish.

Start a conversation