Code on a laptop screen
Back to services

Problem solving
and debugging

I identify, diagnose, and fix bugs and technical issues in software, working through complex problems step by step until the real cause is found and solved.

Developer working through a problem

Every bug has
a reason.

Fixing software is not about trying random changes until something works. It is about understanding how the system behaves, forming clear theories, and testing them one by one.

That patient, analytical approach finds the real cause faster, and it means the fix holds up in production.

What I solve

From a single stubborn bug to a slow, fragile system that nobody fully understands.

Bug diagnosis and fixing

Bug diagnosis and fixing

Tracking down bugs in frontend, backend, and database code, and fixing them without breaking anything else.

FrontendBackendDatabase
Root cause analysis

Root cause analysis

Going beyond the symptom to find why the problem happens, so the same issue does not return next week.

LogsTracingReproduction
Performance troubleshooting

Performance troubleshooting

Finding what makes an application slow, from heavy queries to oversized pages, and fixing the real bottleneck.

ProfilingQueriesCaching
Production incident response

Production incident response

Calm, structured help when something breaks in a live system: contain the issue, restore service, then fix it properly.

TriageHotfixesMonitoring
Legacy code rescue

Legacy code rescue

Making sense of unfamiliar or undocumented code, stabilising it, and leaving it easier to work with.

Code reviewRefactoringDocumentation
Testing and prevention

Testing and prevention

Adding tests and checks around every fix so the bug stays fixed and similar ones get caught early.

Unit testsIntegration testsCI checks

A bug hunt,
step by step

This is the process I follow on every problem. Select a step to see what happens at that stage.

Step 1 of 5

Reproduce

A bug I can trigger on demand is a bug I can fix. I collect the exact steps, inputs, and environment, and turn a vague report like “it sometimes fails” into a repeatable case.

Example: the checkout only fails for users with a discount code and more than three items.

Bug reportsTest environmentLogs

Problems
I fix often

Do not see yours here? Send it anyway. Unusual problems are often the interesting ones.

Memory leaksSlow database queriesAPI errorsRace conditionsBroken layoutsAuthentication failuresDeployment issuesData inconsistenciesRandom crashesFailing testsIntegration problemsBrowser compatibility
Team solving a problem together

How I think
about problems

Evidence over guesses

Every conclusion is backed by logs, tests, or measurements, not by hunches.

Methodical approach

I work through the problem in a clear order, so nothing is missed and progress is easy to follow.

Minimal, safe fixes

The smallest change that solves the cause, so there are fewer side effects to worry about.

Fixed for good

Each fix comes with a test, so the same bug cannot quietly return later.

What you
receive

Not just a working fix, but the understanding behind it.

  • The fix, delivered as clean, reviewable code
  • A plain-language explanation of what went wrong
  • The root cause, not just the symptom
  • Tests that protect against the bug returning
  • Recommendations to prevent similar issues
  • Notes for your team, so the knowledge stays with you

Common
questions

Something else on your mind? Send me a message and I will reply personally.

That is common with intermittent problems. I add targeted logging and monitoring, study the conditions when it happens, and narrow things down until it can be triggered reliably.

Simple bugs can be fixed within hours. Complex ones, such as timing issues or problems that only appear in production, take longer. I will give you an honest estimate once I have looked at the problem.

Usually I need read access to the relevant code and any logs or error reports. I am happy to work under an NDA and with limited access when needed.

Yes. I first help contain the impact and restore service, then investigate the root cause and apply a proper fix once things are stable.

Yes. Every fix includes an explanation and recommendations, along with tests where they make sense, so the same class of problem is caught earlier.

Stuck on a problem? Let's solve it.

Tell me what is going wrong, what you have already tried, and how urgent it is. I will take it from there.