Backend & APIs
Application logic and integrations
- PHP 8
- Laravel
- Python
- REST & JWT
I start at the root of a problem, then build only what it needs.
At sixteen, I set up home networks, learned hardware, installed Linux, and wrote small scripts by hand. I moved into PHP web work in 2014, building apps, APIs, and database-backed features. I still read the code, query plans, and logs myself. I build AI agents and bots to automate repetitive work and reduce the time and cost it takes.
Outside of code, I love books.
I started with home networks, hardware, and Linux at sixteen. I wrote small scripts by hand, then moved into PHP web work in 2014.
The parts of a web system I work with day to day.
Application logic and integrations
Storage, read paths, and retrieval
The services and networks beneath the app
Rendered pages and browser-side code
Repeatable work with human review
Changes that teams can follow
A few kinds of engineering problems I have worked through.
Persian and multilingual search returned uneven results, and the index lagged behind its source. I normalized text and ranking, then kept Elasticsearch aligned with the primary database.
The relational database served every read pattern. I split out a read model, used keyset pagination, and tuned indexes from query plans.
Hot paths raised latency and resource use. I traced the bottleneck, separated cache from queues, set service budgets, and used Octane where it fit.
Noisy alerts and risky deploys slowed recovery. I added a light health endpoint, central alerts, rollback steps, and blame-free postmortems.
Traffic varied by route and crawler. I tuned proxy rules and rate limits, measured CDN effects, and traced international issues through MTU and PMTUD.
API responses and downloads had unclear access boundaries. I reviewed data exposure, used signed links and per-user checks, and documented vulnerability disclosure.
Public-source data arrived in mixed formats. I used rate-limited crawlers and queues, normalized records into SQL, and made the pipeline repeatable.
Agent workflows needed cost and approval boundaries. I compared batch and live model runs, used multi-agent steps where they fit, and kept code review and human approval in the loop.
Small steps, written down as we go.
Logs, query plans, and curl first; then a small, reversible change, documented in the same commit.
Read the logs, query plan, or request before changing code.
Make a focused change that a teammate can measure and roll back.
Put the task and its reason in writing; keep the notes with the commit.
Choose the smallest tool that meets the need, then compare its running cost.
Agents can handle repeatable steps. People keep the judgment and sign-off.
Include a runbook, monitoring, alerts, and notes the team can use without me.
A few examples of where I can help.
If
I do
I map the steps, automate the repeatable work, and keep review and traceability in place.
If
I do
I shape the search index, read model, or processing pipeline around how the data is used.
If
I do
I trace the request, then work on the Laravel app, queue, or integration that needs attention.
If
I do
I find the measured bottleneck and reduce wasted work or resource use.
If
I do
I work through reliability, monitoring, recovery, and access controls.
If
I do
I build the plugin or automation missing from the publishing and commerce flow.
If your problem isn’t on this list, tell me what’s going on.
A clear scope and a handoff the team can keep using.
Tell me the outcome, constraints, and budget you have in mind.
I’ll outline two or three ways forward, with trade-offs and costs.
Build and review a runnable slice before expanding the scope.
Leave documentation, monitoring, alerts, and next steps with the team.
My work spans backends and APIs, search and data, performance and cost, reliability and security, and task automation. If your issue is not on that list, describe it in the form.
They fit repeatable work with clear inputs and results someone can review. Decisions with real consequences and final approval stay with a person. If checking the output costs more than doing the task, an agent is the wrong fit.
Start with logs, query plans, and resource use. Fix the measured bottleneck, choose the smallest tool that fits, and check the result against its running cost.
Yes. We can agree on the task format, review process, access, and handoff before work begins.
Changes stay reviewable in Git. The handoff can include runbooks, monitoring, alerts, written decisions, and next steps.
Send the problem, the outcome you need, constraints, and a budget range. I’ll reply with written options and the trade-offs to discuss.
I work remotely with teams worldwide. Send the goal, constraints, current behavior, and budget range; we can start with a written assessment.