Skip to content
Herlehy Development

Software studio · Chicago, IL

Software for the parts of a business that make money.

Herlehy Development designs and builds the systems behind revenue: lead and sales tracking, payments and payouts, subscriptions and reporting. From the first database table to production.

Sales analytics screen of the contractor CRM: total revenue, jobs sold, average job size, close rate, revenue by year and appointment outcomes.
Contractor CRM & ad reporting. Sales analytics: revenue, close rate and appointment outcomes, synced from improveit360. Sample data.

Selected work

Four systems we designed and built, shown as they actually run: a contractor’s CRM, a real-money tournament platform, a creator marketplace and a paid course.

01

Contractor CRM & ad reporting

A Chicago-area home improvement company

  • Call queue fed by WhatConverts every 15 minutes, oldest uncontacted lead first
  • Revenue, close-rate and appointment-outcome reporting synced from improveit360
  • Read-only Google Ads and Meta reporting shown next to real leads, as cost per lead

Built with Next.js · Supabase · WhatConverts · improveit360 · Google Ads API · Meta Marketing API

Project details
Lead screen of the contractor CRM: today's call counts, a call queue of uncontacted leads with phone numbers and Mark contacted buttons, and a filterable lead table.
Call queue: every new lead nobody has called yet, oldest first.

Names, phone numbers and figures in these screenshots are sample data.

02

LastRound

A real-money esports tournament platform, pre-launch

  • Stripe and PayPal deposits, with an idempotent PayPal payout pipeline that recovers from failures
  • Identity verification through Stripe Identity before any withdrawal
  • Brackets, disputes with evidence upload, and every money path covered by end-to-end tests

Built with Next.js · Supabase · Stripe · Stripe Identity · PayPal

Project details
LastRound home screen: a featured live tournament with prize pool, a payouts ticker, and a tournament browser listing entry fees and prizes.
Tournament browser with entry fees, prize pools and live fill counts.
LastRound transactions ledger listing withdrawals, credit purchases, tournament entries and refunds with statuses and amounts.
Player ledger: deposits, entries, refunds and withdrawals.
LastRound How It Works page explaining credits, competing, climbing ranks and cashing out.
How credits, entries and cash prizes fit together.

03

ClipBoard

A bounty marketplace for short-form video editors

  • Escrowed bounty rewards and payouts with cooldowns, minimums and a full audit trail
  • Hot-ranked bounty board with live countdowns on expiring bounties
  • Earnings tracking and win flows that make progress feel rewarding

Built with Next.js · Supabase · Stripe

Project details
ClipBoard landing page: the headline Turn Clips Into Currency surrounded by floating bounty cards with platforms, creators and prizes.
Landing page, with live bounty cards around the headline.
ClipBoard bounty board with trending bounties, prize amounts, status chips and an explore grid.
Bounty board: trending prizes and open bounties.
ClipBoard How It Works section showing the post, compete, pick and pay steps.
From post to payout in four steps.

04

Dirty 630

A trading-education membership business

  • 92 gated video lessons streamed through Mux
  • Stripe subscriptions with verified, idempotent webhooks; refunds revoke access cleanly
  • Access-control audit, then a complete handover of code and infrastructure

Built with Next.js · Supabase · Stripe · Mux

Project details
Member dashboard with the course key art, a continue-watching card, course modules and a progress ring.
Member dashboard: where you left off, modules and progress.
Lesson player with the module list and progress in a sidebar.
Lesson player with the full curriculum alongside.
Public landing page with the course headline and enroll button.
Public landing page.

What we build

Lead and sales systems

CRMs and call queues that pull in calls, leads and sales history, so a sales team works from one list instead of four tabs.

WhatConverts · improveit360 · Supabase

Payments and payouts

Deposits, escrow, payouts and identity checks, built to be safe when a request arrives twice and to recover when a provider fails.

Stripe · PayPal · Stripe Identity

Subscriptions and gated content

Paid memberships where access follows billing, including refunds and cancellations, with no content leaking to non-members.

Stripe · Mux

Reporting

Dashboards that put advertising spend next to real leads and revenue, so cost per lead is a number rather than a guess.

Google Ads API · Meta Marketing API

How the work is built

  1. 01

    Money paths are tested before they ship

    On LastRound, every deposit and payout path was covered end to end: the normal case, duplicate requests and failure recovery.

  2. 02

    Read-only unless writing is the job

    The contractor dashboard reads advertising data to report on it. It cannot create, pause or change a campaign.

  3. 03

    Built to be handed over

    For Dirty 630, the codebase and infrastructure were handed over to the client in full at the end of the engagement.

Tell us what you’re trying to build.

A few sentences about the business and the problem is enough to start. You’ll hear back from the person who would build it.

conner@herlehy.dev

Chicago, IL