Contracting & technical consulting

From a hard problem to software you can trust.

I help teams turn difficult software, simulation, and integration problems into working capabilities with clear evidence and a practical handoff.

Discuss your project

A good fit when the pieces need to work together.

You need more than an isolated feature: an integration that holds up, a prototype ready for its next stage, or a difficult failure made understandable.

Make the problem buildable

Translate stakeholder conversations into requirements, interfaces, priorities, and acceptance criteria. Make assumptions and tradeoffs visible before they become expensive.

What this producesProblem brief · interface map · acceptance plan

Work across the boundaries

Connect software, telemetry, simulators, and operator tools. Trace a failure across the full system, then make the integration understandable to the people who maintain it.

What this producesIntegration plan · diagnostic tools · recovery behavior

Build the means to prove it

Design repeatable checks, representative scenarios, and useful failure cases. Connect requirements to evidence and keep development results separate from operational acceptance.

What this producesTest strategy · automated checks · evidence walkthrough

Leave a stronger team

Pair hands-on delivery with architecture reviews, mentoring, and technical documentation. Explain the decisions so your team can continue the work with confidence.

What this producesDecision records · runbooks · knowledge transfer

Tools follow the problem. My working background spans Rust, C/C++, Python, TypeScript, Linux, CI/CD, hardware-in-the-loop testing, and human-reviewed AI workflows. See the full technical background.

How we get there

Your requirements stay in the loop.

I start by agreeing what success means and how we will demonstrate it. Regular reviews connect implementation to your users, your constraints, and the outcome you need.

Explore the delivery loopSelect a stage for the detail
The customer stays at the center of deliveryEight stages form a clockwise cycle, from listening through requirements, design, implementation, verification, validation, release, and observation. Customer checkpoints appear at listening, defining success, validation, and release. Feedback can return work to any earlier stage. Each stage links to its description below.01CUSTOMER CHECKPOINTListen & observeWorkflow observationsStakeholder map02CUSTOMER CHECKPOINTDefine successAcceptance criteriaVerification & validation plan03ENGINEERING & LEARNINGDesign &de-riskArchitecture & tradeoffsTargeted risk experiments04ENGINEERING & LEARNINGBuild & integrateWorking incrementsReviewed changes05MEETS THE SPECIFICATIONTest & verifyRequirement-linked evidenceDefects & regression checks06CUSTOMER CHECKPOINTValidate togetherRepresentative user scenariosAcceptance findings07CUSTOMER CHECKPOINTRelease &hand overRelease & recovery planRunbook & knowledge transfer08ENGINEERING & LEARNINGObserve & improveOperational observationsPrioritized improvements

Customer checkpoint

Feedback throughout; revisit a stage whenever evidence calls for it.

  1. Listen & observe

    Understand the people, the current workflow, and the problem worth solving. Surface constraints and assumptions before choosing a solution.

    Typical outputsWorkflow observations · Stakeholder map

    Together: agree on the problem.

  2. Define success

    Turn the need into a bounded scope, measurable requirements, and acceptance criteria. Agree early on how to verify the specification and validate the intended use.

    Typical outputsAcceptance criteria · Verification & validation plan

    Together: agree on what good means.

  3. Design & de-risk

    Map interfaces, dependencies, and failure modes. Test the riskiest assumptions with focused experiments before committing to the full implementation.

    Typical outputsArchitecture & tradeoffs · Targeted risk experiments

  4. Build & integrate

    Deliver small, reviewable increments. Integrate with the actual environment and demonstrate progress while changes are still inexpensive to make.

    Typical outputsWorking increments · Reviewed changes

  5. Test & verify

    Check that the implementation meets its specification. Use tests, inspection, analysis, or demonstration as appropriate; include failure paths and record unresolved limits.

    Typical outputsRequirement-linked evidence · Defects & regression checks

  6. Validate together

    Evaluate the result with the customer and intended users, in representative conditions. Confirm that it solves the intended problem; feed gaps back into the work.

    Typical outputsRepresentative user scenarios · Acceptance findings

    Together: confirm it works for your use.

  7. Release & hand over

    Agree on readiness, ownership, and remaining risks before release. Hand over the working system, operating guidance, and a practical recovery path.

    Typical outputsRelease & recovery plan · Runbook & knowledge transfer

    Together: agree on release readiness.

  8. Observe & improve

    Compare real use with the agreed outcomes. Bring customer feedback, operational evidence, and changed needs into the next conversation and the next iteration.

    Typical outputsOperational observations · Prioritized improvements

Verification

Does the implementation meet the agreed requirements? Tests, inspection, analysis, and demonstrations provide the evidence.

Validation

Does it solve the intended user’s problem in the intended environment? We review representative use with the people who will depend on it.

Activities overlap and repeat. We plan verification and validation from the start, scale the documentation to the risk, and revisit scope when feedback changes the requirements.

Start with the right amount of commitment.

A focused assessment can clarify an uncertain project. A well-defined problem can move straight into scoped delivery.

Before work begins, we agree scope, deliverables, acceptance criteria, responsibilities, schedule, and commercial terms. Remote collaboration and on-site needs can be discussed together.

Inspect the work behind the approach.

These portfolio projects show the technical reasoning and evidence you can examine before we talk.

Explore all case studies

A handoff your team can use.

The agreed deliverable should include what your team needs to run, understand, and maintain it. We choose the appropriate artifacts at scoping, rather than leave the handoff to the end.

  • Source, build instructions, and repeatable setup
  • Checks linked to the agreed requirements
  • Known limits, dependencies, and unresolved risks
  • Deployment, monitoring, and recovery guidance
  • A walkthrough and clear ownership of the next steps

Start a conversation

Tell me what needs to work.

A short project brief is enough to start. We can establish fit, availability, and the next useful step from there.

Email a project brief Connect on LinkedIn

Useful context to include

  1. The outcome you want and who will use it
  2. Your current system and the main obstacle
  3. Your deadline, constraints, and budget range
  4. Who will review and accept the work

Keep the first note high-level. We can agree confidentiality and an appropriate way to share project material before exchanging sensitive details.