Skip to content
comark

Custom platforms, engineered from the architecture up.

Booking engines, portals and SaaS products, where off-the-shelf software stops. We design the data model and APIs first, build the product on top and run the infrastructure under it, like the multi-supplier search we built for Nazarene Tours.

A sample trace of one search request on a platform: authentication, a cache lookup, three supplier calls in parallel (one times out and is retried), then merge and ranking, next to the JSON response filling in as each call returns. Then the same request again, answered from cache in 14 ms. All data is illustrative.

What we build

Products where the hard part is under the surface.

Users see the interface. Most of the engineering sits in the layers below it.

  • APIs and back ends

    REST APIs that your web front end, your apps and your partners all use.

  • Third-party integrations

    Supplier, payment and partner APIs called in parallel, with timeouts and retries handled.

  • Search and caching

    Fast search over slow or large sources, with a Redis cache kept warm in the background.

  • Multi-tenant SaaS

    Accounts, roles, plans and separated customer data, for products you sell to others.

  • Back-office tools

    The internal screens your team uses to manage content, customers and operations.

  • Web front ends

    Web apps in Next.js on top of the same API, so every client reads one source.

Method

How we approach a platform.

Architecture decisions come early, because they are the expensive ones to change later. Each step ends with something you can review.

Step 01risks

Discovery and risks

Users, load, integrations and what has to work on day one. We name the risky parts first.

Step 02contracts

Architecture

Data model, API contracts, hosting and security written down and agreed before development.

Step 03load test

Prove the hard part

We build the riskiest piece first, such as a supplier integration or the search, and test it under realistic load.

Step 04cycles

Build, launch, run

The product grows in short cycles on staging, launches on infrastructure we manage and stays with the team that built it.

01 / 04 · swipe

Reliability

Built for the systems you don't control.

  1. 01

    Parallel calls

    timeouts

    Third-party APIs called side by side, each with its own timeout, so one slow supplier never holds up the rest.

  2. 02

    Caching

    Redis

    A Redis cache kept warm in the background, wherever the data allows it.

  3. 03

    Tests on critical paths

    tests

    Automated tests on the flows that must not break, run before every release.

  4. 04

    Staging and production

    staging

    Separate environments, so every change is reviewed before it reaches users.

  5. 05

    Monitoring

    monitoring

    Monitoring, logging and backups, watched by the team that wrote the code.

Connects with

  • Supplier APIs
  • Payment providers
  • Partner feeds
  • Webhooks
  • Google APIs
  • OpenAI · Claude

Most platforms depend on APIs someone else runs. We design for their timeouts, limits and changes from the first sprint.

Where platforms run: dedicated infrastructure

Case study

The search API behind a consumer booking site.

Travel & tourism · Nazarene Tours

Amadeus, Travelport and Gimmonix behind one search API.

Suppliers
Amadeus, Travelport and Gimmonix connected behind the same API.
Results
Progressive results: fares appear as each supplier answers, and the list settles when the last one is in.
Runs
We host the platform.
Read the case study
An example flight search: results from two suppliers are already listed while the third is still answering.

FAQ

Questions before a platform project.

We have a specification. Can you quote from it?

We read it, then ask questions. Most specifications describe screens, and we also need the data, integrations and load behind them. A short architecture stage turns the document into something we can estimate responsibly.

Can you take over a platform someone else built?

Yes. We start with a review of the code and the infrastructure, write down what we find and fix the riskiest issues before adding features.

How do you deal with slow or unreliable third-party APIs?

Parallel calls with timeouts, caching where the data allows it, and results shown as they arrive instead of waiting for the slowest supplier. That is how the Nazarene Tours search works.

Where does the platform run?

On infrastructure we manage, sized to the product: managed hosting, a VPS, or dedicated servers with high availability where the workload needs it. The team that wrote the code also watches it in production.

Bring us the hard part first.

The integration you are unsure about, the load you expect, the specification you have. We will tell you how we would build it.