Launching today
Hardbook
The freelancer booking link that signs the contract for you
116 followers
The freelancer booking link that signs the contract for you
116 followers
The gap between agreed dates and a signed contract is where freelance jobs die. Hardbook fixes it. Your client picks dates and signs the contract in one flow. No app, no account, no chasing. Built by a freelancer to stop deal decay and lock in work.










Hardbook
Hey Product Hunt 👋
Hardbook is a booking portal + contract signing in one link for day-rate freelancers.
I lost a job to a client who agreed on dates, never signed, and by the time I followed up the window had closed. The gap between "sounds good" and "officially booked" is where most freelance work dies — not on quality, not on price, just on friction.
The flow: send your Hardbook link, client picks dates from your Google Calendar and signs the contract in the same session — no app, no account required on their end. Nothing moves forward without a signature.
It's in beta, free during beta. Looking for day-rate freelancers — motion designers, video editors, photographers, anyone billing by the day — to try it on a real client and tell me what's broken.
What's your biggest point of friction between "agreed on dates" and actually being booked?
Btw
- PHUNT65 + monthly → ✓ "65% off for 3 months"
- PHUNT20 + annual → ✓ valid (20% off the first year)
@suchback In my experience hiring freelancers, the friction is never the calendar, it's locking scope and terms before anyone starts working. If the contract signs at booking, can the client edit terms or scope before it goes through, or is it a fixed template? Curious how you handle the back-and-forth that usually happens before a real engagement.
Hardbook
@artem_fedorovich Good question. Short answer: no, the client can't edit terms or scope in-app — they sign what's there or they don't. What they see is populated automatically with the specifics they already picked earlier in the flow (dates, rate, payment terms), against whatever contract language you set up once as the freelancer. So it's "dynamic" in that the numbers are always current, but not negotiable at the point of signing.
The assumption is that the back-and-forth — scope, price, deliverables — happens before the booking link goes out, over email or a call, and signing is the "we already agreed, now make it official" step, not the negotiation itself.
Is that where you're feeling friction — clients still negotiating scope right up to the moment you'd want paper signed? If so, curious what that usually looks like for you.
love the framing that the job dies on friction, not price or quality. one thing I'd want as a freelancer: a signed contract still doesn't stop a client from just not showing up or cancelling last minute once the date arrives. is there any deposit or cancellation-fee mechanism built into the flow, or is that still something you'd have to chase separately even after they've signed
Hardbook
@galdayan You’re right that a signature doesn’t stop anyone. Nothing does. What changes the conversation is money having already moved.
Deposits are built in, taken in the same flow as the signature — client signs, card gets authorized, captured once the booking confirms. Goes to the freelancer’s own Stripe account; I don’t hold it or take a cut of it. So if they walk two weeks later, that money is already yours rather than something you’re chasing.
What isn’t built in is a sliding cancellation scale — the 50%-inside-7-days kind of thing. The deposit is a flat amount today. And I deliberately don’t adjudicate what happens after a cancellation; who’s owed what is between the two of you, not something I should be deciding.
You listed kill fee in your other comment too. Twice in one day from the sharpest person in my thread is a fairly strong hint.
Congrats on the launch, Adam. Skipping a client account and doing everything through one link is exactly the friction Hardbook is trying to kill. Since that link ends up carrying all the access control, is it a long random token that can't be guessed or iterated, or something closer to a sequential booking ID? That's usually the first thing I'd poke at on a no-login flow like this.
Hardbook
@vollos Signed tokens, not sequential IDs — each one works for exactly one action on exactly one booking, and it expires.
/booking/2 would be a fun afternoon for someone and a very bad one for me.
Love the no-account approach, that alone removes so much friction. One thing I'd add: a simple payment trigger tied to the signature, like letting the client leave a deposit or set up the first milestone right in that same flow. It would close the loop from "agreed" to "funded" without needing a separate invoice step.
Hardbook
@redditlurker That part already exists. Client signs, and goes straight to card entry in the same flow — no separate invoice step. It’s an authorization hold that gets drawn when the booking actually confirms, released if it doesn’t. On the paid plans, pass-through to the freelancer’s own Stripe account.
Milestones aren’t there though. Only the deposit at signing. Fair gap.
As a freelancer, the hardest part is often not finding work it's getting the commitment locked in. Nice solution! 🚀
Hardbook
@gordon_bennett not getting the commitment used to be my middle name, but now it’s harry :)