Counsel for systems under load. Acquisitions, migrations, failures — and the verdicts that follow.
McShea & Partners is retained when the architecture itself is at stake — technical due diligence in an acquisition, the sequencing of a migration, the failure domain no one will name. We read the system as it stands — its dependency graph, its constraints, its operational risk — and we sign what we find.
Counsel, not consultancy.
Four ways to retain the firm. Each ends in written findings, over a partner's signature.
Systems Assessment
The full reading — load paths, failure domains, and the assumptions that quietly hardened into system constraints.
Architectural Review
A proposed design, read against its capacity plan and the system it must survive. Findings filed before the money moves.
Second Opinion
Technical due diligence for boards — one signature that doesn't work for the vendor.
Standing Retainer
Quarterly re-readings of the dependency graph as it drifts. The client keeps the partner; the partner keeps the record.
Read. Reduce. Report.
Read
We begin where the system already is — the dependency graph as deployed, the load paths as measured, the constraints it was built on.
Reduce
We separate the structural from the incidental — the failure domains, the capacity ceilings, the few decisions that actually carry load.
Report
We file architectural findings, plainly written — remediation costed, migration sequenced, and a recommendation a partner stakes a name on.
Partner-led. No associates, no handoffs — the partner who traces the dependency graph is the partner who signs the findings.
Ihab McShea
“You don't retain us to be optimistic. You retain us to be right.”
Every assessment, review, and diligence is led, reviewed, and signed by one person. No bench, no leverage model — the partner you meet is the partner who traces the load paths.
Retain the firm.
A conversation begins in writing — name the system, the constraint, and the decision it blocks. A partner replies within two business days.
Selected engagements.
A partial record of assessments, reviews, and technical due diligence. Some of our work is conducted under terms that keep it off this page.
* An alias. The engagement is real; the client's name is withheld under terms.
Intelligence platform, read end to end
An open-source-intelligence and media-monitoring platform built as some ninety NestJS service modules over a thousand source files. It scrapes four social networks through a headless-browser fleet behind a rotating proxy pool, resolves the harvested entities into a Neo4j graph, indexes everything in Elasticsearch, and reads the corpus with language models — language detection, named-entity extraction, author classification, similarity. Three message brokers move the work; Grafana watches it. We read the system as it stands and counsel where it strains.
* Confidential. The client and the platform are withheld under terms. The work is described as it was done.
Privacy exposure, read as an attacker would
Specter implements the deanonymisation framework from a 2026 research paper and turns it inward: instead of attacking strangers, it attacks its own user. A five-stage pipeline — ingest, extract, search, reason, calibrate — pulls a person's public posts, has language models extract and then verify linkable traits, compares them by embedding in a vector store, and returns a weighted exposure score with a prioritised report. Every model call is schema-constrained; no answer is parsed from free text.
Payment routing, made provider-agnostic
Every company that processes payments eventually builds the same in-house routing layer — a tangle of conditionals, no failover, reconciliation by spreadsheet. OpenOrchestra is the open-source answer: a self-hostable engine where processors are swapped without touching application code, where circuit breakers, retries, idempotency, and an offline queue are built into the core, and where settlement reconciliation is a first-class feature rather than an afterthought.
Loyalty platform, re-platformed in parallel
The platform serves hospitality venues end to end — orders, payments, vouchers, Danish SAF-T tax reporting — across twenty-eight feature modules and seventy-seven database models. Rather than a cutover, we sequenced a parallel run: the Rust service stands beside the Node original, taking traffic module by module, with every query checked at compile time. The system never stops trading while it is being replaced.
* Nordhus Hospitality is an alias; the client's name is withheld under terms. The work is described as it was done.
Cashier front end, rebuilt to parity
The legacy front end was vanilla JavaScript grown over years of venue-floor reality — thermal printers, payment terminals, NFC, barcode scanners. We rebuilt it in React with strict parity as the standard of proof: thirty-five divergences found and tagged by severity, three hundred and six manual test scenarios written down, and a staging-to-production sequence that lets any module roll back alone.
* Nordhus Hospitality is an alias; the client's name is withheld under terms. The work is described as it was done.
Receipt printing, given one owner
Whether a kitchen ticket, a refund slip, or a cash-drawer report prints — and on which device — had been decided in scattered front-end code. We moved the policy behind a single service: the front end asks, the service decides, and every job lands in a durable ledger that can be audited and retried. The policy itself is pure functions, tested without a database in the room.
* Nordhus Hospitality is an alias; the client's name is withheld under terms. The work is described as it was done.
Vertical search, read for relevance
A furniture search engine for the Egyptian market. Twelve Rust crates — crawler, extractors, normalisation, dedup, index — feed a Tantivy index through a durable PostgreSQL queue, with Arabic and English catalogue data parsed down to dimensions and prices. Ranking is not taken on faith: a separate laboratory replays a benchmark of judged scenarios against every change, measuring category pollution and nDCG before a ranker ships.
Engineering cognition, made durable
Zero is the system the firm runs its own engineering through: eight Rust crates behind one Axum server, with a desktop shell, a CLI, and an MCP surface. A case moves through an explicit state machine — investigating, implementing, verifying — and nothing closes without proof: eleven kinds, from unit tests to signed pull requests, captured automatically and re-checked when they age.
A conversation begins in writing.
Tell us, plainly, which system is keeping you up at night — the constraint, the migration, the failure domain. A partner will read your note and reply within two business days, or tell you, just as plainly, if we are not the right firm.
Your note is with a partner.
You will hear back within two business days.