Skip to content
Computese home

Work

Client names stay private. The work, the constraints and the technology do not.

Banking

Migrating a bank from OpenShift 3 to OpenShift 4

A bank’s digital channels ran on OpenShift 3, past its end of life. We moved production to OpenShift 4 inside one short change window, rebuilt disaster recovery across two sites, then ran the platform and its DevSecOps toolchain around the clock.

07Cloud02Hosting
Our role
Lead DevOps engineering
Engagement
Delivery, then a year of managed service
Platform
Red Hat OpenShift on VMware vSphere
Environments
Production, DR and non-production

Production moves from OpenShift 3, past its end of life, to OpenShift 4 at the primary site. A second cluster at the DR site receives continuous replication. Afterwards the platform is run 24x7 across production, DR and non-production.

Fig. 1 Shape of the engagement: upgrade, protect across two sites, then run. Drawn new; no client systems shown.
Financial services

Automating a financial firm’s disaster recovery drills

A financial firm proved its recovery with a long manual checklist run over phone calls and spreadsheets. We automated the drill end to end on Jenkins and our AI automation platform, kept a named person approving every step, and made the audit evidence assemble itself.

07Cloud10AI & automation
Engagement
Pilot and reference architecture
Scope
One critical application, one disaster scenario
AI
Advises, never acts
Automation
Jenkins and our AI automation platform

The drill runs in five stages: prepare, declare, restore, validate and close. Before each stage starts, a named person approves it. An AI advisor reads every result and explains it but cannot act. Each stage writes evidence, and the drill ends with a sealed evidence bundle.

Fig. 2 The drill as the platform runs it, simplified. Drawn new; no client systems shown.
Banking

Granular regulatory data on Cloudera and Iceberg

Regulators are moving from summary templates to transaction-level data. On a bank’s own Cloudera platform, we proved it can answer two questions most banks cannot: where a filed number came from, and what it looks like cut a new way. Each answer is one SQL query.

08Data platform
Engagement
Proof of concept
Platform
Cloudera Data Platform, Private Cloud Base
Table format
Apache Iceberg
Data
Synthetic only, no customer data

Five source feeds (core banking, payments, treasury, customer and reference data) land in a raw layer that is only ever appended to. Data then moves through a conformed layer with quality flags, a gold layer holding the attribute model, and reporting marts reconciled to gold. The reporting engine sits outside the scope. Each filing is pinned to a snapshot so it can be reproduced. Lineage, masking by role and an audit trail cover every layer.

Fig. 3 The data foundation, layer by layer. Drawn new; synthetic data only.
Healthcare

A serverless AWS data lake for healthcare centers

Healthcare centers keep and share their datasets in a data lake on AWS. We worked on it across DevOps, back end and data analysis: the serverless API and how it is secured, the catalog and search, and SQL straight over the lake.

08Data platform07Cloud
Our work
DevOps, back end, data analysis
Cloud
AWS, serverless
Sign-in
Amazon Cognito, Active Directory as an option
Engagement
13 months, time and materials

Staff use a web console and engineers a CLI. Both sign in with Amazon Cognito, optionally through Active Directory, and call a REST API on Amazon API Gateway, where a Lambda authorizer checks every call. Authorized calls reach AWS Lambda microservices, which work with the data: datasets in Amazon S3, metadata in Amazon DynamoDB, a search index in Amazon OpenSearch Service, tables in the AWS Glue Data Catalog and SQL through Amazon Athena. AWS IAM and Amazon CloudWatch cover every layer.

Fig. 4 The data lake, redrawn: who signs in, what checks each call, and where the data lives. Drawn new; no client systems shown.

A utility’s core system for customers, field work and billing had run on premises for 15+ years on Struts 1, WebLogic and Oracle. Without access to the client’s environment, we assessed it, proved the move to Spring Boot in code and mapped the route to the cloud.

07Cloud01Website

Live platforms, delivered end to end.

Design, code, hosting and every release since launch, handled by our team.

Legal services · Ottawa, Canada

Minute Notary: a notary office on its own platform

Minute Notary is a notary office in Ottawa. We designed, built and run the platform behind it: booking and payment, secure documents, a workspace for notaries, and seals anyone can verify online.

Our role
Design, build and operation
Status
Live
Accessibility
WCAG 2.2 AA

How a change reaches production. Intake gives every change a risk lane: tiny, normal or high-risk. A story sets its validation expectations, and high-risk work adds a design note and a decision record. A fail-closed quality gate runs type-checking, unit and UI tests, integration tests on a real database and cache, browser end-to-end tests and a structured-data check, and the first failure stops it. Security scans cover secrets, the code, API contracts, dependencies, the Dockerfile, the built image and the running container. The release is one image carrying its own release ID; its registry digest is read back, and the deploy counts only when production reports that exact release. Then metrics, traces, logs, synthetic checks and alerts watch it, with the prior image digest kept for rollback.

Also delivered and maintained by our team: GoodCleaner (cleaning services, Ottawa) · ViaOttawa (local business directory).

How we write about client work.

The same rules for every case, so you can read one and know what the others will tell you.

Every case gives

  • The industry
  • The shape of the engagement and the services involved
  • The constraints we worked within
  • The architecture, drawn new, and every product in the stack
  • What changed, and what we learned

No case gives

  • The client's name or logo
  • The country, the region or the regulator
  • Dates, team size, or numbers that could identify the client
  • Screens or data from the client's systems

Start with a conversation.

Tell us what you run and what is getting in the way. You get a reply within 24 hours.

Hours
Mon–Fri, 9:00–17:00 ET
Closed on statutory holidays
Office
110 Place d'Orléans Dr
Ottawa, ON K1C 2L9