hehe.software

For owners, marketers, and agencies

Connect a site or app to payments, CRM, booking, and email

hehe.software offers API integrations for payments, CRM, booking and email, including failed webhooks and connections between systems you already use. We work remotely from Vancouver with businesses and agencies across Canada and the United States, including on products we did not build. Email mwe@hehe.software or use the contact form with what you need; a defined sub-project, white-label or credited, is welcome.

Email us

APIs & integrations, properly.

Custom builds and the platforms you already use.

01

What gets connected

Before any API key exists we write down the event that starts the work, the fields that have to cross, and which system wins if the two records disagree. Payment gateway integration, CRM integration, booking, and email are the usual jobs.

Webhooks bring the reply. A server you control accepts the post, checks the signature, and treats a repeat as the same event, so a retried charge cannot create a second order or a second deal. Keys stay on the server, out of the page, the app, and Git. If a link is already failing, we trace it before replacing it.

02

Requests that show up

Stripe integration on a custom site is Checkout or Payment Intents, with card fields hosted by Stripe, a success webhook, and a rule for refunds and failures. Card numbers stay at Stripe. On Shopify or WooCommerce we enable the gateway the plan allows, then tell accounting, a warehouse, or email that the order is paid.

HubSpot integration is a field map and a scoped token in your account. A form, an order, or a booking updates a contact and opens a deal only if you asked. Campaigns stay in HubSpot. Your scheduler can confirm an appointment the same way. A receipt or reminder is transactional mail, kept off the newsletter list. A stock push or a replay of failed events is quoted the same way.

03

From the first note to handoff

Name the systems, the event, who administers each account, and any real date, such as a launch or a campaign. Leave production secrets out of the email. We ask for access after agreeing to look.

A broken webhook is hourly. A defined payment, CRM, or booking link is a fixed quote. If nobody can say which record wins, paid discovery produces the map, covering the trigger, the payload, the source of truth, failed calls, and exclusions. You may stop there. The map is yours.

You keep the owner login. Accounts sit in the company name, and our role is limited. The Git repository is yours. Test mode runs until you watch the first live event. Handoff covers triggers, logs, key rotation, and downtime. Few projects run at once, so you reach the person doing the build.

04

Tools, and where secrets sit

Custom sites and web apps use Next.js, React, and TypeScript, with webhooks and secrets on the server. WordPress, Shopify, and WooCommerce use the platform's hooks and APIs, plus code only where those fall short. Webflow, Squarespace, and Wix connect through a built-in tool, an embed, or a webhook we host, not through an application server hidden inside the builder.

On Stripe, we integrate Stripe. Otherwise we use the gateway the store plan supports. CRMs, schedulers, and email tools use their documented APIs and signed webhooks, test mode first. iOS payments use StoreKit. An Android app we build uses Kotlin and Jetpack Compose and calls that server, as can React Native or Flutter.

05

Who should write, and who should not

Owners, marketers, and agency leads in Canada or the United States fit when they can name two systems and one event: a gateway, forms into a CRM, one agency connection, or a fix beside the developer already on the job.

If the brief is still open, paid discovery can turn it into a defined feature list and acceptance checks. If you already have a developer or agency, we can take a bounded part of the work and agree how it joins the wider project. Share the target date so we can assess capacity and dependencies before committing.

The studio is based in Vancouver, British Columbia. Work elsewhere in Canada and the United States is remote.

06

What we can open, and what to send

Broski handles exact bill shares offline, while our apps also use StoreKit purchases. Those owned products show payment and data-handling work in their actual context. A CRM or payment-gateway connection needs its own field map, test events and error checks; the handoff should let your developer inspect those decisions.

Send the system names, which record wins a conflict, one example event, the fields that must arrive, and who can create test logins. A diagram is optional. Keep live API keys until the scope is settled.

Ways to work with us

Built by us

We don’t show client logos. We show what we build and run ourselves — nine apps on the App Store, and this site.

Questions

What happens when a webhook arrives twice?

We design the receiver so a repeated event does not repeat the business action. The scope covers event identifiers, signature verification where supported, retries and logs. We also test failed delivery and explain how an operator can investigate it.

Can you connect systems without replacing the website?

Yes, when the existing platform exposes the access the connection needs. Send the systems, the event that should trigger an update and the fields that must arrive. We check the API and account limitations before choosing a plugin, platform integration or custom server code.

Can a current developer or agency stay involved?

Yes. An agency can place a sub-project under its name or with a credit, and you can hire the integration while another developer holds the rest. We join their repository if invited, and we agree who deploys and who holds the production keys.

Do you maintain an integration after it is live?

Yes. Hourly covers a broken webhook, a renamed field, or a gateway that changed its API. A monthly retainer covers failed events, small map edits, and version bumps, including on systems we did not build. What the retainer includes is agreed before it starts.

How do quotes work?

Pricing is quote-only. You receive a fixed quote or an hourly estimate after scoping, never a published rate or range. A fuzzy brief starts as paid discovery, and the map remains yours if you end it there. Begin by writing to mwe@hehe.software or by using the contact form.

Tell us what needs doing.

A short email is enough: what you have, what’s wrong or missing, and when you need it. We reply with questions or a plan.

mwe@hehe.software