A wooden table ready to work together, with an open notebook, pencil sketches, a laptop and fresh coffee.

Thoughtful software.From first idea to everyday use.

We build AI tools, apps and payment solutions. We work alongside your team, from planning through to handover.

Talk through a problem

What we work on.

We design and build software, connect systems and test how well they work.

Agentic AI & harnesses

We build custom agent harnesses, frameworks and MCP servers around your team’s tools, permissions and review process.

Harnesses can support research, coding, reporting and business workflows. In this example, an agent queries sales data and builds a dashboard.

Explore agent systems
Dashboard assistantInteractive demo · sample data
You

Show sales by week and channel.

Assistant

I’ll check the data I can access and build a view of the last four weeks.

Checking the available tablesRead-only database accessShow stepsHide steps
  1. Inspect the dataFind the available order and payment fields.In progress
  2. Calculate weekly salesGroup the last four weeks by Web and Store.Pending
  3. Build the viewCreate the chart, totals and channel filters.Pending

This demo supports Web, Store or All.

Illustrative examples using sample data, not client results.

Building the rest of the system.

Software development

Web and mobile apps for learning, practice and business administration. We build the interfaces and the backend services they need.

Explore development

Systems & integrations

APIs, event-driven systems and real-time services. We build and connect the services a business runs on, including custom frameworks.

Explore integrations

Architecture, delivery & handover

System design, project management and technical handover. We work alongside existing teams and help startups find a team to continue development.

Explore architecture

Technical due diligence & advice

We advise companies during acquisitions and sales. We review the technology, investigate technical questions with the teams involved and document findings to support decisions.

Explore due diligence

Tools we build and share.

Alongside client work, we publish libraries, share experiments and build apps you can use.

Cats-Actors

A Scala library for actors and message passing, built on Cats Effect. It helps organise concurrent work and manage failures.

class Counter
  extends ReplyingActor[IO, Int, Int] {
  def counting(total: Int):
      ReplyingReceive[IO, Int, Int] = {
    case amount =>
      val next = total + amount
      context.become(counting(next))
        .as(next)
  }

  override def receive = counting(0)
}
  • Scala
  • Cats Effect
  • Apache 2.0

EventStore

An ordered message log with live delivery and replay. It stores events and delivers them to the services that need them.

  • Spring Boot
  • PostgreSQL
  • Event replay

Read it out

ReadItOut with enlarged sample-book text, page controls and reading playback.
Inside ReadItOut, with the included sample book.

A PDF reader that reads aloud and keeps your place. Highlight passages, add notes and take them with you.

  • Read aloud
  • Annotate
  • Export

SingTempo

SingTempo’s practice introduction with a visual guide to matching sung notes.
SingTempo preview. Public launch coming soon.

Find your vocal range and practise with exercises suited to it. Follow a piano guide, see your pitch as you sing and track your progress on your device.

  • No account needed
  • Practice stays on your device

The people behind the work.

We’re Roberta and Mark. We build software, work alongside teams and write about what we learn.

Watercolour portrait of Roberta
Watercolour portrait of Mark

In the community.

We also support Julian’s Pathfinder, a Maltese foundation that helps gifted children and young people explore their interests through learning outside the classroom.

Their Computer Science Club gives students space to explore algorithms, work through problems together and test their ideas in code. Its longer-term goal is to prepare students for the International Olympiad in Informatics.

Have something to work through?

Talk through a problem