Kicklace, an AI-powered CRM for micro SaaS
CRM for indie hackers
One account, as many workspaces as you have products, and a plan measured in the people who sign in rather than in contacts, emails or workspaces.
Three products, one account
A workspace is a product. You can have as many as you want, and the plan does not count them.
The plan belongs to your account, and every workspace hangs off it: one for the thing that pays the rent, one for the side project, one for the thing you are still deciding about. What a plan is measured in is the people who can sign in — not contacts, not emails sent, not workspaces, none of which is limited on any plan. One sign-in reaches all of them, and the switcher in the sidebar is how you move between them.
Founder is a planned $9 a month for one person. Nothing is charged yet: billing is not live, and early customers use Kicklace free while we build it with them. See pricing.
Money, from wherever money comes
A purchase is a purchase. What Kicklace does with it is the same whichever door it came through, which is what makes one automation enough.
- Stripe. A checkout, a payment intent or a paid invoice is a purchase with its amount on the person's timeline; a refund, a trial starting, a renewal and a cancellation all land as themselves. One address pasted into Stripe and the signing secret, and there is no handler to write.
- GitHub Sponsors. A new sponsor is a purchase for the tier's monthly price, and a monthly tier lands a subscription beside it, the way a Stripe checkout does. A tier change is a renewal, and a cancellation posts the same name Stripe's does — so an automation written for a customer leaving answers both without knowing either exists.
- Your own servers. One call with an address, a value and an idempotency key, for money that arrives some other way. The lifecycle moves exactly as it does for the two above.
A purchase moves somebody to Purchaser and a second one to Repeat. Switch on the two optional stages and a trial starting moves them to Trial and a cancellation to Churned — and a purchase from Churned takes them back up, because somebody who left and came back is a customer again.
GitHub is where some of your people already are
Three things happen there that are really things happening to a person, and Kicklace takes all three through one address.
- An issue is a support message. It lands on the person who opened it, titled
repo#number: titlewith a link to it — which is what makes them somebody you may write back to, from their record, in Kicklace. The body of an issue is never read. - A sponsor is a customer. Most sponsors have no public email address at all, so their handle is carried as the identity instead; when an address turns up later, the two are one record with the earlier first touch kept, rather than two people who are the same person.
- A star is a visit, if you ask for it. It is off until you switch it on, and the switch says why: a star is not consent, it only marks that they were here.
It is one webhook going one way. It is not sign-in with GitHub, and it is not an app with access to your repositories: Kicklace changes nothing in GitHub and reads no code.
A product that is not out yet
The waitlist starter, which is the one Kicklace runs its own waitlist on.
One press writes a Waitlist list, the welcome that goes out when somebody joins, and a check-in two weeks later for anyone still waiting. Both emails arrive as drafts in your own words, and both automations arrive paused, so nothing goes to anybody until you have read it.
It deliberately makes no pipeline. Where people stand on your waitlist — invited, live, not now — is yours to arrange under Settings → Pipelines, because every waitlist is run differently and a starter guessing at yours would be in the way.
When your site is a page builder that owns its forms
Carrd, Framer, Squarespace: some builders will not let anything near a form. So Kicklace hosts one.
Every list has a page of its own at /f/<your workspace>/<the list>, wearing your workspace's name and colours. It asks for an email and an optional name, and it makes the list's consent sentence the label of a required box — and stores that sentence from the list rather than reading it off the form, so what somebody saw and what is written down cannot be made to differ.
Link to it, or embed it: an iframe tells its parent how tall it is, so it sizes itself, and it can be pinned to a light or a dark look, prefilled from a link, and sent back to a thank-you page of yours — but only to an address you have already allowed, so nobody can turn your form into a way of pointing at somewhere else.
On a site whose forms you do control, the tag hears them without being wired in: mark one with a list, or switch on catching every signup form. It never touches the form — no preventing the default, no markup of ours — so your own handler and your own success state are what they were.
Questions
- Do I pay for each product?
- No. The plan belongs to your account and covers as many workspaces as you want — one per product is the usual arrangement — and what it is measured in is the people who can sign in. Contacts, emails and workspaces are unlimited on every plan, and nothing is charged yet.
- Does a GitHub sponsor need an email address?
- No. Most sponsors have none in public, so the handle itself is carried as the identity and the sponsorship lands on it as a purchase. When an address turns up later the two become one record with the earlier first touch kept, rather than two people who are the same person.
- Will it read my GitHub issues?
- It records that an issue was opened — the repository, the number, the title and a link — on the person who opened it, which is what lets you write back to them from their record. The body of an issue is never read, public or private, so there is nothing to leave out.
- What if my site builder will not let me touch the form?
- Use the page Kicklace hosts for that list, on your workspace's own name and colours. Link to it, or embed it in an iframe that tells its parent how tall it is. The list's consent sentence is the label of a required box, and it is stored from the list rather than read off the form.
- Can I use it before the product is out?
- Yes: that is what the waitlist starter is for. One press writes the list, the welcome that goes out when somebody joins, and a check-in two weeks later — both emails as drafts in your own words, both automations paused. Kicklace runs its own waitlist on those two.
Read next
Join the waitlist
We are onboarding one company at a time. Leave your email and we will let you know when your workspace is ready.