Amirhossein HosseinpourAmirhpCom
Resume Book a consultationBook

2015 โ†’ now ยท still shipping

I build tools that make sense, and keep them working after launch.

I'm a senior full-stack engineer and co-founder of Pigment Dev, eleven years and a few hundred projects in. I build across the whole stack, from the code to the database to the server underneath, and I don't disappear once it ships.

Sari, Iran ยท UTC+3:30 ยท remote with teams across Europe, Asia, Africa and the Americas

contributions.json ยท 368 days ยท 28 Sept 2025 to 30 Sept 2026 2,744 contributionsgithub.com/amirhp-com โ†—
243 days with commits in the last yearยท 18-day best streakยท every square links to that day LessMore

// verified-figures

What eleven years adds up to

every figure links to its source

Software on thousands of sites, downloaded more than 207,000+ times, still shipping this week. Every figure is counted.

Counted on 30 Sept 2026 from WordPress.org, GitHub and addons.mozilla.org. Downloads are 195,000+ from WordPress.org plus 11,000+ GitHub release assets. Repositories are 56 own and 27 forks across three accounts. Projects: 400+ client projects delivered since 2015, counted by hand from my project archive on Google Drive, which keeps every project year by year. Each project is counted once; repeat orders of the same build, small fixes and support tasks are left out.

// what-i-do

What I do

10 areas

Ten areas, from the plugin layer down to the server it runs on. Most projects touch three or four of them at once.

// work

Open source I am proudest of

All repositories โ†—

WordPress plugins, macOS apps and one PHP file that will not die. Every figure below comes from WordPress.org or GitHub.

work/more ยท 8 more, maintained
  • Block External Request (opens WordPress.org)Blocks the outbound HTTP calls WordPress makes in the admin, with a blacklist, whitelist, pause and safe mode.v2.9.3 ยท BlackSwan
  • Advanced Profile Solution (opens WordPress.org)Registration, one-time-code and passkey login, verification, profiles and the account area.v14.0.3 ยท Pepro Dev
  • CF7 Database (opens WordPress.org)Stores Contact Form 7 submissions and exports CSV or Excel.100+ installs ยท 5.0/5 ยท v2.0.0
  • Easy Receipt Customers upload a bank transfer receipt against the order; approve or reject from the admin or Telegram.v1.19.2 ยท Pigment Dev
  • Q&A Comments A moderated Q&A section on the comments WordPress already has, one Elementor widget.v1.3.4 ยท Pigment Dev
  • html2elementor A skill that lets Claude or Codex rebuild a finished design as a native Elementor site.v4.17.0 ยท MIT
  • Jalali DateThe Persian date next to the Gregorian one in the macOS menu bar, something macOS itself does not offer. Written in 2021 and in daily use since.Swift ยท since 2021
  • Uptime A WordPress fleet watched around the clock, reported in Telegram only when something changes.Workers ยท internal

// release-record

Eleven years of building. 113 releases on the public record.

releases.json ยท 113 rows

Newest first. The tagged, dated record starts in 2020, when the plugins went onto WordPress.org. Open a year to see what shipped.

Ultimate Invoice was first published in 2020. It has tagged releases on the record in 2020, 2022, 2024, 2025 and 2026, four of them this year.

// problems-i-get-called-for

Problems I get called for

3 cases

Three real ones, with what actually changed. None of these were a plugin setting.

100/100 โ†’ 15/100account CPU, in one day

A store is slow, expensive or falling over, and nobody knows why.

A download store with 30 million unique visitors a month was returning 503s most of every business day, its hosting account pinned at 100/100 CPU. Loading the opcode cache that had never been enabled brought it to about 15/100 within minutes; the rest of the day went to 21% of traffic hitting an unindexed LIKE search across 757,000 rows, and a counter plugin bypassing the page cache on every view.

cPanelLiteSpeedOPcacheMySQLRedis

12 sites, 1 VPSone repeatable checklist

A migration that cannot afford downtime.

Twelve production sites moved from cPanel to HestiaCP on a single VPS, including a Node and pm2 application and an SSO service, all by one written checklist: Redis with per-site cache prefixes, off-provider backups and Worker-based uptime monitoring, the same steps for every site.

HestiaCPNodepm2RedisWorkers

54ms cached TTFBon a store synced from Sheets

A catalogue edited in a spreadsheet, on a store too slow for its traffic.

A Google Apps Script and WooCommerce REST sync made the sheet the source of truth, so nobody re-types products. Then I profiled the stack, not the pages: a security suite cost 330ms per request and multi-currency recalculated the cart on every view. With LiteSpeed cache set up properly, Redis object caching, and Action Scheduler and transients cleared down, cached pages answer in 54ms.

Apps ScriptWC REST APILiteSpeedRedis

// stack

The whole stack, not a highlight reel

stack.json ยท 59 items

59 things I actually work in, sized by how much of the work they carry. Filter by layer, hover or focus anything to see where I use it, or switch to the table to read every note at once.

    // hover or focus an item to see where I use it

    // how-i-use-ai

    How I use AI, and where I do not

    3 rules

    I use AI constantly and trust it with nothing. It writes the first pass of boilerplate, test fixtures, translation files and changelog notes, and it is genuinely good at all four. Then I read every line, because a plugin on thousands of sites cannot afford a hook name that does not exist.

    Where it earns its keep is the unglamorous middle: turning a support thread into a reproducible case, drafting the migration script I will rewrite anyway, reading a stack trace faster than I can. Where it does not is the part the job is actually made of, which is deciding what to build, saying no to the rest, and still being there in a year when it needs maintaining.

    Review, not autocomplete.

    Generated code goes through the same review as a contributor pull request. Most of it changes before it ships.

    Specs first, still.

    The spec comes before the prompt for the same reason it comes before the code.

    Never on the release path.

    No model touches a build, a signing key or a WordPress.org SVN commit.

    // open-source

    Some of it is public

    github.com/amirhp-com โ†—

    I love open source, but most of my work is paid and exclusive, four to five times what I publish, and it stays with the clients who own it. The public share grows every year as the agencies grow and free time opens up, and I'm still maintaining code I shipped six years ago. The numbers below are the public ones.

    profile.jsonยท read only
    1{
    2  "public_repositories": 83,
    3  "own": 56, "forks": 27, "accounts": 3,
    4  "followers": 92,
    5  "most_starred": "upload-url-to-server", "stars": 17,
    6  "wordpress_plugins": 10, "active_installs": "6,300+",
    7  "downloads": "207,000+",
    8  "firefox_addons": 5, "since": 2017, "average_rating": 4.6,
    9  "releases": 113,
    10  "contributions_last_year": 2744,
    11  "label": "BlackSwan Development, since 2015"
    12}
    He is responsive, detail-oriented, whip smart, and a pleasure to work with. I recommend him without reservation for any technical needs your business might have.
    Michael Janda on LinkedIn founder of Riser (2002 to 2015), the Inc. 5000 agency behind work for Disney, Google, Warner Bros., NBC and National Geographicauthor of Burn Your Portfolio and The Psychology of Graphic Design Pricingclient, 2021

    // how-i-work

    How I work

    4 steps, in order

    The order is real: spec precedes code, documentation precedes release, maintenance follows both.

    1. 01

      The spec comes before the code.

      Most projects that go wrong went wrong where nobody wrote down what done meant. I would rather lose a week on scope than a month building the wrong thing.

    2. 02

      Documentation is part of shipping.

      A release with no changelog, no hook reference and no upgrade note is unfinished.

    3. 03

      I stay for the maintenance.

      Launch is the cheap part. I am still shipping releases for a plugin I published in 2020.

    4. 04

      I work asynchronously and in writing.

      UTC+3:30 overlaps Europe, the Gulf, and the first half of the North American day. Nobody should have to be awake at the same time as me to know where things stand.

    // worked-with

    Since 2017

    22 names

    Clients and teams since 2017, with what the work was. Some of it is under NDA and is not shown.

    • DigikalaUnder NDA
    • ZarinpalPayment gateway consulting
    • PonishaFreelance projects, 2017 to 2019
    • SellerYarCustom WordPress learning platform
    • DownloadLyOutage traced and fixed, 100/100 to 15/100 CPU
    • MapnaWordPress development
    • Islamic Azad UniversityWordPress development
    • Shahid Beheshti UniversityWordPress development
    • Nowruz GroupLead WordPress developer, 2021 to 2024
    • Karo StudioDevelopment work
    • Michi StudioDevelopment work
    • Lumiere VibeAI image pipeline, Sheets sync, 54ms cached TTFB
    • MN StudioCustom plugin development
    • ZedArchACF-driven plugin for an architecture practice
    • AccioDevelopment work
    • DigiEnsheabDevelopment work
    • ManaiiDevelopment work
    • WizegiraffeDevelopment work
    • FaramoujTechnical consulting
    • Coin-plusTechnical consulting
    • SarrafehTechnical consulting
    • TajVapeTechnical consulting
    • // and work for a major regional marketplace, under NDA

    // ventures

    Which of these are current

    5 rows

    NameRoleYearsStatus
    Pigment DevCo-founder and lead developer2025 to nowActiveMost of my time
    Pigment AgencyHead of development, Istanbul, remoteNov 2022 to nowActive
    Pepro DevCo-founder2020 to nowActiveFree plugins on WordPress.org and Pro plugins for sale
    BlackSwan DevelopmentFounder2015 to nowActiveOpen-source label
    Iran WP AcademyFounder2020Archive

    // whether-this-is-a-fit

    Whether this is a fit

    Where I'm useful

    • A plugin that has to survive updates and be extended by other developers.
    • A WooCommerce store that has become slow or expensive and nobody knows why.
    • An integration with a payment gateway, an SMS provider, a marketplace API or a spreadsheet-driven catalogue.
    • A migration between hosts that cannot afford downtime.
    • A team that has developers but nobody owning the technical picture.

    Where I'm not

    • Design and theme customisation.
    • Anything needed next week.
    • Work that assumes a template and a template budget.

    // working-together

    Most of my time goes to Pigment Dev. What is left goes to consulting and a few projects a year.

    If you have something that fits, tell me about it and I will tell you honestly whether I am the right person.

    branch main 6 active projects โ†‘ 113 releases home.md Sari --:-- UTC+3:30 its@amirhp.com