Work

Products and systems you can inspect.

Amidship’s public work makes the engineering visible: the product decision, the system around it, and the boundaries we chose to keep explicit.

PDFSight is a live owned product. BranchBox is open-source engineering. Agentify is an Amidship-owned production platform. Together they show how we approach AI-enabled software without treating the model as the whole product.

Client work

01Client work

Fundraising platform

Staying accountable for operational software as the product changes.

A long-running engagement with a Canadian software-product company, evolving a mobile fundraising and auction platform across product behaviour, integrations, infrastructure, and production support.

Long-running client relationship View project
  • Client work
  • Operational software
  • Product evolution
  1. Workflow
  2. Application
  3. Integrations
  4. Operations
Long-running product work across workflow, application, integrations, and operations.

Owned platforms, products + open source

Selected work

Three different problems. One consistent engineering instinct.

Start with the real workflow. Isolate the consequential decision. Build the surrounding software so the result can be operated, inspected, and changed.

02Owned product

PDFSight

Turning stubborn PDFs into a guided workflow.

A PDF can look perfectly normal and still give you nowhere to type. PDFSight finds what the page is asking for, turns it into a guided flow, and gives you back a completed PDF.

Live product View project

Probabilistic interpretation

  1. Visual document Source geometry
  2. Field schema AI interpretation

Deterministic output

  1. PDF operations Deterministic software
  2. Expiring artifact Preview · storage · delivery
PDFSight deliberately confines model uncertainty to document interpretation; everything after the field schema is conventional software.
03Open-source engineering

BranchBox

Isolating the whole runtime, not just the branch.

BranchBox gives each feature its own working tree and runtime boundary so developers and coding agents can work in parallel without competing for the same application environment.

v0.11.1 · Open source · MIT View project
One repository Shared source history
  1. checkout-reliability Feature environment
    • Working tree
    • Runtime context
    • Application state
  2. billing-rules Feature environment
    • Working tree
    • Runtime context
    • Application state
  3. search-index Feature environment
    • Working tree
    • Runtime context
    • Application state
One source repository can support multiple feature environments, each with its own working tree, runtime context, and application boundary.
04Amidship-owned production platform

Agentify

Agentify keeps state and control in the application while AI agents do the work.

Agentify is an application-owned operating layer for agentic workflows. It coordinates models, tools, knowledge, background work, human checkpoints and workflow state without making the model the system of record.

Owned production platform View project

Application state

  • Task + messages

Replaceable capabilities

  • Model gateway
  • Authorized tools

Control paths

  • Human intervention
  • Pending · failed · completed
Agentify keeps task state and control paths in the application while models and tools remain bounded, replaceable capabilities.
05Owned product history

Service-business platform

Building the software was only part of owning the product.

The story of an Amidship-built service-business platform: connecting booking, clients, payments and operations, running it with real customers, shutting it down deliberately, and later reusing the software for a narrower product.

Built · operated · deliberately retired View project
  1. Website / discovery
  2. Service + booking
  3. Client record
  4. Payment / invoice
  5. Business operations
Build around the operating journey, not around a collection of disconnected features.

Start a conversation

Have a problem that is difficult to get right?

Tell us what is happening, why it matters, and what makes it difficult. We can start there.

Bring us the problem