Engineering & Systems

Custom Software Development

Updated

≤11 days

Median time from spec freeze to first production deploy

Source: ColdAI internal benchmark, 2026

Zero-trust

Default network and identity architecture on every build

24/7

Managed-operation SLA available on every shipped platform

What does ColdAI do for Custom Software Development?

ColdAI's development practice builds the production systems that strategy papers and proofs of concept point towards: multi-agent applications, event pipelines and distributed-ledger integrations, along with the cloud infrastructure they run on. A small senior team works inside your repositories and accounts, ships something deployable at the end of every fortnight and writes down each significant design choice, so the system can be run by your own engineers or by us once it is live.

“We don't ship prototypes that the client then has to harden. The first commit on every project is the production deployment pipeline; everything else is built against it.”
Dr. Shayan Salehi H.C.— Founder & CEO, ColdAI

What capabilities does ColdAI bring to Custom Software Development?

Multi-agent orchestration
Real-time data pipelines
Zero-trust architecture
Cloud-native infrastructure

In depth

Engineering guides for the situations above

Each guide takes one situation from this page and works through it in detail, from release gates for agents to proving that a handover worked.

  1. 01ProcessAI agent production readiness: from PoC to liveThe gates an AI agent must clear before it touches live data: evaluation thresholds, tool permissions, red-team evidence, PII, tracing, failover and rollback.
  2. 02ArchitectureScaling a Kafka pipeline from one team to manyHow to turn a single-product Kafka pipeline into a shared event platform: topic ownership, schema compatibility, partition keys, team isolation and migration.
  3. 03Deep diveReconciling Hedera transactions with your ERP ledgerHow to reconcile Hedera activity with the general ledger: mirror-node data, a unique key per record, posting rules for fees and tokens, cut-off and audit trail.
  4. 04GuideArchitecture decision records: a practical guideHow to write and maintain architecture decision records: a template, what deserves one, superseding old records, and worked examples from AI and ledger systems.
  5. 05ChecklistSoftware handover checklist: vendor to in-house teamA checklist for taking over software an outside team built: code, infrastructure, documentation, runbooks, access, licences and the tests that prove each item.

When a build partner makes sense

Teams usually call us when a system has outgrown its prototype, or a deadline has outgrown the team. An agent proof of concept impressed the executive committee; now it must pass a security review, handle live customer data and survive a failover test. A Kafka pipeline built for one product line has to carry events for five. A Hedera integration must reconcile with the finance ledger before year-end audit. Or approved headcount will not arrive for two quarters. The buyer is typically a CTO, head of engineering or product owner who needs production code in TypeScript, Python, Rust or Go, handed over in a state their own engineers can run.

From requirements to running system

Five stages, each closed by a decision you make on evidence

01

Requirements and architecture

Business requirements, technical constraints and non-functional targets for latency, availability and recovery. Output: a system design document and the first architecture decision records. Decision: approve the architecture and the scope of the first release.

02

Sprint delivery

Two-week sprints with continuous integration and automated test suites; every sprint ends in working, deployable software and a demonstration. Output: sprint demo, release notes, updated backlog. Decision: reprioritise the backlog for the next sprint.

03

Verification

Automated unit, integration and end-to-end tests, performance benchmarking, security auditing and accessibility checks. Output: a test and security report with open findings ranked by severity. Decision: accept the residual risk or schedule fixes before release.

04

Production release

Blue-green deployment with automated rollback, monitoring and alerting in place before traffic moves. Output: the release in production, dashboards and runbooks. Decision: go or no-go, made against criteria agreed in advance.

05

Handover or continued operation

Output: handover sessions, documentation and transfer of all access. Decision: run the system with your own team, or keep ColdAI operating and extending it under a separate agreement.

What we hand over

DeliverableWhat it containsWho uses it
Architecture decision recordsEach significant choice, the options considered, the reasoning and the consequences, stored in the repository beside the codeYour architects and future maintainers
System design documentContext diagram, service boundaries, data flows, trust boundaries and the agreed non-functional targetsPlatform, security and operations leads
Source code and infrastructure-as-codeApplication repositories, Terraform modules, CI/CD definitions and dependency manifests, held in your version-control organisationYour engineering team
Test and security reportsCoverage of unit, integration and end-to-end suites, performance benchmark results, vulnerability scan output and remediation statusQA, security and internal audit
Runbooks and dashboardsDeployment and rollback steps, alert definitions, incident procedures and monitoring dashboardsOperations and site-reliability engineers
Handover packOnboarding guide, known issues, deferred-work backlog, open-source licence list and a recorded system walkthroughThe incoming team or product owner

What we build, and with what

The stack is chosen per system and recorded in an architecture decision record

Distributed systems

Event-driven microservices in Go, Rust or TypeScript, with message queues between services and distributed databases chosen for the consistency each workload needs.

AI and ML platforms

Model serving with vLLM, feature stores, training pipelines in PyTorch and Ray, and multi-agent orchestration exposed through real-time inference APIs with evaluation built into the pipeline.

Security-first engineering

Zero-trust identity between services, encryption at rest and in transit, and dependency and container scanning that blocks a merge when a critical finding appears.

Mobile and cross-platform apps

Native and cross-platform applications with offline-first storage that synchronises when connectivity returns, and biometric authentication tied to device keys.

Data engineering

Streaming pipelines on Kafka, PostgreSQL for transactions, ClickHouse for analytics, and time-series databases for IoT and telemetry workloads.

Cloud-native infrastructure

Kubernetes on AWS or GCP, every environment defined in Terraform, and CI/CD pipelines that run tests, scans and deployments on each merge.

Build it yourself, hire a large firm, or hire us

Internal teamLarge consultancyColdAI
Long-term ownershipBest. The people who build the system stay to run itOften hands over to a separate run teamWe build for handover from the first sprint, but we are no substitute for a permanent team
Time to a working teamSlow if you must hire; immediate if the team already existsCan mobilise large numbers quickly, with mixed seniorityA small senior team, available once scoping is agreed
Depth in agents, streaming and ledgersDepends on who you have been able to hireAvailable, sometimes through specialist units or subcontractorsMulti-agent systems, Kafka pipelines and ledger integration are core work for us
Very large, long programmesPossible with sustained investmentBetter placed to staff many engineers across parallel workstreamsNot our model. We suit focused systems with a clear owner
Domain and legacy knowledgeStrongest. Knows the core systems and why they are built as they areOften strong in regulated sectors through industry groupsLearned from your people; plan time for it in the first sprints
Commercial modelSalaried cost; hardest to scale downTime-and-materials or fixed price, with formal change controlAgreed in scoping; fixed fee for defined phases where possible

When another option will serve you better

  • A template or low-code tool would do the job
  • You want to own a permanent in-house team
  • You have not yet decided whether to build
  • Lowest day rate is the deciding factor

What engineering leaders ask first

The commercial model is set during scoping. Where the scope can be defined, such as an architecture phase or a first release, we prefer a fixed fee per phase. Where requirements are expected to move, we work to a periodic team fee with a backlog you prioritise sprint by sprint. Either way, the proposal states what is included, how changes are handled and what happens if more time is needed.
Each build has a technical lead who owns the architecture, attends your sprint reviews and is your day-to-day contact. Around them are senior engineers matched to the stack: TypeScript and React for interfaces, Python for data and machine learning, Rust or Go for performance-sensitive services. Team members are named in the proposal, and any substitution is agreed with you before it happens.
You own the code and infrastructure definitions written for you once the related invoices are paid, and they live in your repositories from the first sprint. We keep the rights to general-purpose libraries and tooling we bring to the project, and licence them to you so the system runs without us. Open-source dependencies remain under their own licences and are listed in the handover pack.
Zero-trust networking, encryption at rest and in transit, and automated vulnerability scanning in the pipeline are defaults, not options. Our engineers use accounts you issue, with least-privilege access, and production access is granted only for releases and incidents. We work under your NDA and security policies, and can answer your vendor security questionnaire during scoping.
With a technical scoping session between your product owner, your lead engineer and our technical lead. We read the existing code, designs or prototype, then write a proposal covering the architecture approach, first-release scope, team, first-phase timeline and commercial terms. Once it is agreed, the first sprint sets up repositories, environments and the delivery pipeline, and records the first architecture decisions.
There are two routes. You take the system in-house: we run handover sessions, pair with your engineers on the first releases and leave runbooks plus a backlog of deferred work. Or ColdAI continues to operate and extend it under a separate operating agreement with defined response times. A mix also works, for example your team owning features while ours runs the infrastructure for a period.

Tell us what has to run in production

Describe the system you need, the constraints it must meet and the date that matters. We will read what you already have and come back with an architecture approach, a first-release scope and an honest view on whether we are the right team.

Scope a build

Inside one fortnight: how a sprint ends in deployable software

Each sprint is a loop with a fixed end point: a build that could go to production if you chose to release it. These are the steps inside that loop, not a separate approval process.

01Sprint planning02Build behind thepipeline03Automatedverification04Pipeline deploy tostaging05Demonstration on thebuild06Backlogreprioritised
  1. Sprint planning

    Your product owner orders the backlog and the team commits to the slice that fits, including any non-functional work the next release depends on.

  2. Build behind the pipeline

    Every change goes through peer review and continuous integration; unfinished features sit behind flags instead of on long-lived branches.

  3. Automated verification

    Test suites, dependency and container scans and, for AI features, the evaluation set run on each merge.

  4. Pipeline deploy to staging

    The release candidate reaches an environment built from the same Terraform modules as production, deployed by the pipeline rather than by hand.

  5. Demonstration on the build

    The team shows the deployed candidate and its release notes, so you judge the real artefact rather than slides.

  6. Backlog reprioritised

    What the demonstration revealed changes the order of work for the following sprint.

Conceptual view of the two-week delivery loop. Ceremonies and tools vary by client; the deployable end point does not.

What counts as deployable at the end of a sprint

Teams use the word 'done' loosely. These are the conditions a sprint's output has to meet before it is presented as finished. If one fails, the item returns to the backlog instead of appearing in the demonstration.

0 of 7 checked

Non-functional targets to settle before architecture sign-off

The first delivery stage turns expectations into targets you choose. Each one changes the design, so it needs an owner and a way of being checked before the first sprint, not after the first incident.

TargetThe question to answerHow it is checked before release
LatencyHow long may a person or calling system wait for each critical interaction, typically and at the slow tail?Load tests replay realistic traffic against staging and report percentiles per endpoint
AvailabilityWhich functions must stay up, and how much downtime per month or quarter is acceptable?Failure injection on dependencies, then an error budget tracked from the first production release
RecoveryHow much data may be lost, and how quickly must service return after a failure?A timed restore from backup into a clean environment, recorded in the test report
Peak load and growthWhat arrives on the busiest day, and what must the system absorb as volumes grow?Spike and soak tests beyond the expected peak, with the breaking point written down
Residency and retentionWhere may data be stored and processed, and how long must or may it be kept?Review of regions and storage policies in the infrastructure code, plus tested deletion jobs
AI output qualityWhat pass rate on the evaluation set must an agent or model reach before it handles live work?The evaluation suite runs in the pipeline, and a drop below threshold blocks the change
Unit costWhat may one request, inference call or ledger transaction cost at expected volume?Cost telemetry in staging and during shadow traffic, compared with the budget before traffic ramps up

Targets are recorded in the system design document. Where a target cannot be known yet, the document says so and names the sprint in which it will be measured.

Where the first sprint goes in five common starting points

Taking the situations described at the top of this page, these are the first moves. The opening sprint should remove the largest unknown, which is rarely the most visible feature; scoping confirms or changes the plan.

  • If

    Agent PoC going live

    Then

    Build the evaluation harness, tracing and tool-permission model before adding any features.

    Release depends on evidence a demo never produces; the agent production readiness gates describe it.

  • If

    Pipeline gaining product lines

    Then

    Introduce a schema registry and topic conventions, registering existing event formats exactly as they are.

    Contracts are the hardest thing to retrofit once more teams publish; see scaling Kafka across teams.

  • If

    Ledger reconciliation before audit

    Then

    Ingest mirror-node data and produce a reconciliation report before automating any journal posting.

    Seeing the mismatches first shows which posting rules you need; the reconciliation pattern covers the design.

  • If

    Hiring behind the roadmap

    Then

    Create repositories, environments and pipelines in your organisation and pair your first hires with the team as soon as they join.

    Handover costs least when it starts on day one; the handover checklist lists what must transfer.

  • If

    Inherited codebase

    Then

    Use the first sprint to read the code, infrastructure and incident history, and reconstruct the decisions that still shape the system.

    Changing a system safely starts with knowing why it was built the way it was.

How custom builds drift off course, and the control for each

Troubled builds tend to show the same early signals. Each control below is part of how sprints run, not an extra phase bolted on at the end.

Non-functional targets surface at go-live

Early signalThe first load test or security review is booked for release week.

MitigationTargets agreed during requirements, measured from early sprints and reported in each demonstration.

Integration effort is underestimated

Early signalInterfaces to core systems are described from documentation nobody has exercised.

MitigationCall the real interfaces with sample data in the first sprint and record where they differ from their documentation.

Knowledge stays with the supplier

Early signalOnly the external engineers can deploy, debug or explain a design choice.

MitigationRepositories and accounts in your organisation, decision records beside the code and your engineers pairing on releases.

Agent quality is judged by demonstration

Early signalStakeholders approve an agent after watching a few hand-picked conversations.

MitigationAn evaluation set drawn from representative cases, with thresholds agreed before results are seen.

Scope grows without trade-offs

Early signalNew requests join the sprint while nothing leaves it.

MitigationOne ordered backlog owned by your product owner, and change handling written into the proposal.

Security review arrives after the code

Early signalThe threat model is drafted once the system is nearly finished.

MitigationTrust boundaries drawn in the system design document, with scanning active from the first merge.

Frequently asked questions

Can you take over a codebase that another team started?

Yes, and the first sprint is planned differently when we do. We read the code, infrastructure definitions, pipelines and recent incidents, rebuild an environment from scratch to see what breaks, and write decision records for the choices that still constrain the system. The result is a short assessment of what can stay, what needs repair before new features and what we would change first. If a rewrite would genuinely cost less, the assessment says so and explains why.

Can our own engineers join the sprint team?

Yes. Mixed teams are often the surest route to a clean handover. Your engineers take part in planning, reviews and on-call like everyone else, using the same accounts and permissions. Scoping settles who owns which part of the system, so responsibilities are clear in demonstrations and when something fails. The aim is that by the final sprints your people lead releases while our team supports them.

How do you test features built on language models when outputs vary?

The deterministic parts, such as tool wrappers, parsers and permission checks, get ordinary unit and integration tests. Model behaviour is tested against an evaluation set: cases drawn from representative data, each with a pass condition, scored automatically or by a written rubric. The set runs in the pipeline whenever behaviour could change, and falling below the agreed threshold blocks the change. Cost and latency are measured in the same runs. How we build and maintain those sets is covered in the LLM evaluation sets guide.

Do you only build on Hedera, or on other distributed ledgers too?

Hedera is where ColdAI's ledger work is deepest: the firm is a member of The Hashgraph Association and runs a dedicated Hedera practice. The wider distributed ledger work spans public and permissioned architectures. On any build, the choice of ledger, or of no ledger at all, is made during the architecture stage against your requirements and recorded together with the options that were rejected.

Can you commit to a fixed launch date?

A date can be fixed if scope is allowed to move. During scoping we agree the smallest first release worth launching, then order the backlog so the most valuable work lands first. Because every sprint ends in deployable software, a releasable version always exists, and the demonstrations show early whether date and scope still fit together. We will not promise both a date and a full scope without evidence that both are achievable.

What has to be in place on our side before sprint one?

A product owner with the authority to order the backlog and the time to attend reviews, a technical contact who can grant access, and accounts issued through your identity provider. Sample data or a sanitised extract helps, as does documentation for each system we must integrate with and the security policies the build has to meet. Missing pieces do not delay the start; gathering them becomes part of the first sprint.