
Keeprer
AI-screened booking page
I’ve revamped the UI/UX today, and the next step is to try and find the first group of customers.
Google verification is submitted. Keeprer creates a calendar event when you accept a booking, which needs a sensitive scope, and sensitive scopes get reviewed. Until it clears, anyone connecting their calendar meets a full-page red "Google hasn't verified this app" screen. That is expected and it does not mean anything is broken — the way through is Advanced, then Go to Keeprer. The app now says so before you press Connect, in both languages, because the shock is what makes people back out, not the warning itself.
If you are shipping a Google integration yourself, the part I did not expect: the review is not really about your code. Mine came back on an automated check that could not find the app name on my homepage. It was there five times. Just not in the H1.
The site now has a Thai version at /th. Not a language toggle. The old one translated the DOM in the browser after load, which meant every crawler and every unfurl bot only ever saw English, and there was no Thai URL to rank or to share. Now /th serves Thai HTML from the server, both versions declare each other with hreflang, and a visitor in Thailand lands on the Thai one. Crawlers are never redirected — serving a bot something different from what a reader sees at the same address is cloaking, and it gets punished.
And if you want to connect Google Calendar right now: you will see the unverified screen, click through Advanced, and everything works normally after that. Keeprer only adds bookings you accept, and never reads what is already on your calendar. If you would rather wait for the review, nothing else in the product needs it.
1 Like
Comment
I built an AI screening layer for inbound work requests. You write your rules in
plain sentences — who you say yes to, your rate floor, the categories you never
take. Requests hit those hard rules first, then an AI judge for the ambiguous
middle, and anything it isn't confident about gets flagged rather than guessed.
Each one arrives with a verdict and a reply drafted in your voice. You approve;
nothing sends on its own.
Two hours a night after work, alone. Then I went looking for the first 20 users
and got it wrong twice.
First guess: streamers. Wrong. A mid-tier streamer gets maybe three sponsorship
offers a month. They don't want to filter inbound — they want more of it. My
product only has positive value for someone already drowning.
Second guess: tattoo artists, photographers, anyone with a months-long waitlist.
Genuinely overwhelmed, so that part fit. Then I opened the contact page of ten
studios in a row. Every one funnels to WhatsApp, Instagram DM or LINE. Not one
form.
Which makes sense once you see it. A tattoo enquiry is inherently multi-turn —
reference photos, placement, size, then price. A one-shot form dies at step two.
The rule I ended up with:
Whoever sends the request determines the shape of the channel.
A company sends email. It has the details in hand and needs a record, so its
request is already form-shaped.
An individual sends chat. They don't know what they want yet, so they ask first.
If that's right, my segment isn't an industry at all. It's anyone whose inbound
arrives from organisations rather than individuals.
It's live and free, zero users. One person's work and it shows — onboarding has
more steps than it needs, and whoever books you doesn't get a confirmation email
yet. I know about those; I'd rather hear the ones I don't. You don't need an
account to see it work: keeprer.space/beam
Postscript: I posted a shorter version of this to r/SideProject earlier and it
was auto-filtered for having 1 karma. Building a screening tool and then getting
screened out has a certain symmetry to it.
Two things I'd genuinely like answered:
Has anyone here made a form work in a market that defaults to chat?
And where's your line — what would you never let something else answer for you,
even with an approve button in front of it?
2 Likes
3 Comments
3 Comments
-
2
The two failed segments are probably more informative than the product description itself. You tested the channel behavior and found that the same underlying problem changes depending on who is sending the request.
-
1
That's a better way to put it than I managed the problem doesn't change, the shape it arrives in does. And the shape is set by the sender, not by the industry of whoever receives it.
Which means my product already picked a shape. A form only works where the sender turns up with the details already in hand, and that is a property of who is asking. So the segment isn't "tattoo artists" or "streamers" at all it's anyone whose inbound comes from a person acting on behalf of an organisation. Speakers, and anyone booked by an HR or events team, fit. I'm not sure where it stops.
Have you seen it break the other way somewhere the sender clearly was a company, and it still collapsed into chat anyway?-
2
That’s an interesting distinction — I’ve seen cases where the company is clearly involved, but the request still becomes conversational because the person initiating it doesn’t have the details needed to complete a structured flow.
I’d be interested in continuing this one beyond the thread. What’s the best email to reach you at?
-
-
About
I kept watching people spend their evenings writing polite versions of "no." Anyone who publishes a contact link gets a stream of requests they were always going to turn down, and they still write a careful reply to each


Comment