# Eddie Sheehy · Software engineer

> Who I am, what I own, results, case studies, experience and contact.
> Source: https://eddiesheehy.dev/

Kerry, Ireland

# Eddie Sheehy

Software engineer · scraping infrastructure, booking and payment platforms

status: written by a person

In 2026 I made more commits than anyone in the ScrapeOps GitHub organisation. In my evenings and weekends, I built the platform behind eight local businesses' websites, with bookings and payments built in.

I own

Proxy routing and spend at ScrapeOps: which provider every request goes to, and whether it makes money.

The Cloud Browser product at ScrapeOps, top to bottom: I wrote 90% of it.

The whole Armed Solutions platform as CTO: payments, bookings, infrastructure and security.

-   [Loss → profit A route losing money on every request. I rerouted it overnight: success went from 26% to 98%, and it now earns roughly $13–15k a month. ScrapeOps →](/scrapeops/#changed)
-   [Top contributor More commits than anyone in the ScrapeOps GitHub organisation in 2026: 37% of all of them. counted from git →](/scrapeops/#impact)
-   [~80% shorter outage Production went down late at night. I caught it on my phone, shipped the fix, and handed it over for review by morning. ScrapeOps →](/scrapeops/#changed)
-   [Knowing when not to My own report said move the traffic. It would have left capacity sitting empty overnight, so I logged a week of data and decided on that. ScrapeOps →](/scrapeops/#own)

Go · TypeScript · Python · Postgres row-level security · Stripe Connect · proxy routing · bot detection · Raspberry Pi images

Kerry, Ireland · remote · BSc Computer Science and Information Technology, University of Galway · [CV](/cv/) · [PDF](/eddie-sheehy-cv.pdf)

I also spot the tells that make a website or design look AI-made. There are two examples below.

§01verified against the repo

## Selected work

May–Nov 2026 · one platform · 26 shipped units · 8 client sites · ~860 commits, alongside a full-time engineering job

CASE 01 · payments · Aug–Nov 2026

### Direct booking against someone else's inventory

Problem

A holiday-rental agency wanted guests to book and pay on its own site, but its property management system (Lodgify) owns the calendar and prices.

Built

A custom Stripe checkout, instalment payment plans, abandoned-checkout recovery, multi-currency charging (guests pay in their own currency, the agency settles in euros), and a reconciliation sweep.

The hard part

Money and inventory live in two systems that can disagree. Payment is captured before the booking is created, so a guest ends up either paid and booked or charged nothing. A refund is only issued once the booking system conclusively shows there's no booking; anything inconclusive goes to a human. Late 3-D Secure confirmations are judged by Stripe's own timestamp, not the server clock.

Result

Live on the client's site, charging real cards and writing real bookings.

CASE 02 · booking · Sep–Nov 2026

### A room booking engine that can't double-sell a night

Problem

A B&B needed native online booking, while also selling rooms on Booking.com and Airbnb.

Built

Room types, a nightly calendar, holds, quotes, instalments, refunds, guest manage-booking, staff desk tools, and a two-way calendar mirror with the Beds24 channel manager.

The hard part

Every booking write runs in a serializable transaction with retry, so two guests can't take the same night. The channel-manager sync recognises its own bookings even though the API doesn't store the reference it needs, and it cancels rather than deletes.

Result

Online booking is open on the live site, with OTA stays on the same calendar. It's the pilot for a direct-booking product priced at a few percent instead of ~15% platform commission.

CASE 03 · infrastructure · Jun–Nov 2026

### One codebase, isolated client deployments

Problem

Run many client businesses from one platform without one client's site being able to see another's data.

Built

Each client's site ships as its own container, compiled from the shared codebase with every other client's routes and assets stripped out at build time. Each client gets its own database role, with row-level security on the shared Postgres. Every branch gets its own preview environment.

The hard part

Enabling row-level security on a database that live, unchanged client sites were already reading. It was rolled out so nothing running broke, with checks that block destructive migrations and table-locking indexes before they ship.

Result

Client sites run as separate containers on their own domains.

CASE 04 · infrastructure · Jul 2026

### Moving production off managed hosting

Problem

Move the platform, client sites and database from managed services to self-run servers.

Built

Docker deploys with rollback, a TLS edge serving custom client domains, health checks that fail when the database is down, error monitoring, connection pooling, and continuous backups.

The hard part

The database cutover. Staging-clone validation, a backup-restore drill and a maintenance window, with the guarantee that the platform and client sites never wrote to different databases mid-move. Restore drills now run against the backups.

Result

Cut over on 23 July 2026.

CASE 05 · payments · Jun–Nov 2026

### Gift vouchers and session passes on Stripe Connect

Problem

Small businesses wanted to sell gift vouchers online as the merchant themselves, with no marketplace in the middle.

Built

Stripe Connect onboarding and direct charges, three sales channels (hosted page, embeddable script, API), QR and barcode vouchers with a scanner, PDF delivery, and a ledger for multi-session passes.

The hard part

Keeping voucher state in step with Stripe events across many connected accounts. Refunds and disputes void vouchers, and fulfilment is safe whichever arrives first, the redirect or the webhook.

Result

In progress.

CASE 06 · hardware · Nov 2026

### Signage you install by flashing a card

Problem

A holiday-rental agency needed digital signage on Raspberry Pi screens, installed on site by someone other than me.

Built

A ready-to-flash Raspberry Pi image. Write it to the card, put it in the Pi, and the signage is ready to go, with nothing to set up after. Two shop-window TVs, one wide and one upright, play a slideshow from a folder on the card, with the Armed Solutions logo showing while they boot. To change the pictures, copy new ones onto the card from a laptop.

The hard part

Making it safe to unplug at any time, with no network, keyboard or password. The image is built from the official, checksum-verified Raspberry Pi OS, gets through first boot without asking anything, then seals its own system as read-only so a power cut can’t corrupt the card. The slides folder stays writable, and a marker file in it rotates the portrait screen. It’s boot-tested in a container before it ships.

Result

Both screens are live in the shop window. The installer set them up from the image and an 11-page guide, without me on site.

### Smaller builds

-   Timed-slot booking for a shared-capacity venue, safe against overbooking races.
-   First-party, per-client website analytics with no third-party tracker.
-   Passkeys, MFA and login rate limiting on the platform admin.
-   A pipeline that sources local businesses and drafts outreach with an LLM, held for human approval.
-   Making the agency site readable by AI agents: markdown versions of pages, `llms.txt`, and WebMCP tools.
-   A restaurant table-booking system with a live floor plan, built and then deliberately removed (16k lines) once it wasn't worth maintaining.
-   8 client marketing sites from one site registry.

§025 items, 0 cards

## What I do

-   **Find out why your scraper gets blocked.** I compare your requests with a real browser's and find what gives you away, from TLS and HTTP/2 fingerprints to header order. The usual suspects are Cloudflare, Akamai and DataDome.
-   **Cut what scraping costs you.** Fewer retries, cheaper proxies where they hold up, and plain HTTP where a browser was never needed.
-   **Run browsers at scale.** Fleets of automated browsers (Camoufox, Playwright) in containers, on servers you control.
-   **Build booking and payment systems.** Stripe checkouts, calendars that can't sell the same night twice, and the back office around them. [What I've built](/armed-solutions/).
-   **AI audits.** I go through a website, app or poster for the tells that make it look AI-generated: copy, layout, colour and imagery. You get the list, and the fix for each one.

§03fixed scope, no retainers

## How engagements work

-   01 · audit**Fixed-scope audit.** You tell me what is broken, slow or expensive, and send your current setup. You get back a written diagnosis: what is wrong, why, and the fixes in order of effort.
-   02 · hands-on**Short engagements.** A week or two where I make the fixes myself, in your code, and hand it back working.
-   not offeredOngoing maintenance. The goal is that you don't need me afterwards.

Audits are a fixed price, from $750. Hands-on work is quoted after the audit.

§04side projects

## Things I've built

-   **SortDeck.** A model trained on photos of Pokémon cards that tells each card’s generation and type from the image, with a confidence score, built on CLIP embeddings and OpenCV. The plan was a 3D-printed sorting machine run by a Raspberry Pi. I retired it before building the machine. retired
-   **ServerMonitors.** A stock-alert service: about fifteen pluggable shop adapters (Shopify, WooCommerce, BigCommerce, Squarespace and others), a FastAPI server on a VPS, Discord alerts, and a portal where subscribers log in and pick what to watch. Adapters are tested against responses captured from real shops. 2026
-   **A trading-card competitions site.** Next.js and Prisma, with accounts and email verification, chosen entry numbers, a skill question, a wallet balance and Solana payments through Phantom. I later put it through my own security audits: auth and sessions, input validation, PII in logs, and draw fairness. 2025
-   **Lantic.** My final-year project. Type an Eircode and see average house prices and rents nearby, your commute to work, and the amenities around it on a map. The listing data came from a small Flask API I wrote and deployed in Docker. 2024
-   **Where it started.** Discord stock monitors for consoles, PC parts and trainers across Irish and UK retailers during the 2020–21 shortages, hosted on Heroku for friends. Learning the hard way to alert once per restock, not on every check. 2020–21

§05Kerry, Ireland, remote

## About

I'm Eddie Sheehy, a software engineer in Kerry, Ireland. I work on scraping infrastructure full-time at ScrapeOps: bot detection, TLS fingerprinting, browser fleets and proxies. [What I do there](/scrapeops/).

I'm also CTO and co-founder of [Armed Solutions](https://www.armed-solutions.com/), which builds web and booking platforms for hospitality businesses. [What I’ve built there, in plain English](/armed-solutions/).

I build the Armed Solutions platform in evenings and weekends. Most of it shipped in five months of 2026.

I work remotely, with teams anywhere.

### Experience

Two years out of university, I own production systems that handle money: provider routing and spend at ScrapeOps, and payments, bookings and infrastructure as CTO of Armed Solutions.

1.  Feb 2025 – now · Full-time · Remote
    
    **Scraping Infrastructure Engineer**, ScrapeOps
    
    Proxy routing, anti-bot handling, cloud browsers and the product around them. [What I do at ScrapeOps](/scrapeops/).
    
2.  May 2026 – now · Own company, evenings and weekends · Dingle
    
    **CTO and co-founder**, Armed Solutions
    
    Built and run the platform behind our clients’ websites, bookings, payments and back office. [What I’ve built at Armed Solutions](/armed-solutions/).
    
3.  Jun – Oct 2024 · Full-time · Galway, hybrid
    
    **Postgraduate Research Assistant**, University of Galway
    
    Software engineer on a research team rating pavement conditions on greenways from sensors on bikes and scooters. Built the React web app that maps the surveyed routes, and the APIs and database behind it on a self-hosted server.
    
4.  Jan – Sep 2023 · Internship · Galway, hybrid
    
    **Software Developer**, IBM
    
    Front-end and back-end work on IBM’s SOAR security platform. Cleared static-analysis code issues, and was one of the top code contributors by the end of the internship. Python, Jenkins.
    
5.  Jun – Sep 2022 · Internship · Dingle
    
    **Software Engineer**, Net Feasa
    
    Worked on LoRaWAN farm sensors, from Tekelek milk-tank levels to weather stations, for on-farm pilots with Teagasc. Python and servers.
    

### Education

**BSc Computer Science and Information Technology**, University of Galway, 2020 – 2024. Final-year project: Lantic, an Eircode property explorer with its own pricing API.

### Skills

Languages

TypeScript, JavaScript, Go, Python, SQL

Web

Next.js, React, Node.js, Express, Astro, Tailwind

Data and infra

Postgres, Prisma, Redis, Docker, Linux servers, CI and preview deploys, Sentry

Payments

Stripe, Stripe Connect

Scraping

Proxy routing, TLS and HTTP/2 fingerprinting, Playwright, Puppeteer, Camoufox, CDP

### Earlier

At school, co-wrote and self-published a smartphone guide: 150 copies, sold out in two weeks. Munster winner and national runner-up, Junior Achievement Ireland Young Entrepreneur, 2018.

§06plain links

## Contact

For scraping work, send the target and what is going wrong. For anything else, tell me what you’re building.

email

[hello@eddiesheehy.dev](mailto:hello@eddiesheehy.dev)

phone

[+353 87 109 8386](tel:+353871098386)

upwork

[Upwork profile](https://www.upwork.com/freelancers/~014eb0862de48a194d)

github

[GitHub](https://github.com/EddieSheehy)

linkedin

[LinkedIn](https://www.linkedin.com/in/eddie-sheehy/)
