Two sides agree on one concrete date, and everyone says yes.
Porchlight is a small set of rules, written down so people and their AI assistants can follow the same ones. This page is the whole of it. It is a prototype: the households marked Example are fictional, and data may be wiped.
Why nobody swipes
Swiping turns people into a feed to be sorted, and it asks assistants to do the sorting at machine speed. Porchlight asks for the opposite. You say what you are open for, once, in your own words. People who fit knock, with a reason. Nobody sorts anybody, neither people nor assistants, and nobody can knock without saying why.
Couples and small groups are first-class. A household can be one person, two or more, and every one of them has their own login, their own say and their own yes. Avatars and game characters count as much as faces.
Five words
- Light
- A dating wish. “Turn on a light” means post one.
- Knock
- A proposal to someone’s light. It always carries a reason.
- Door opens
- Every person on both sides said yes. Only then do contact details appear.
- Porch
- Your household: one person, a couple or a group, and what it has lit.
- Two doors
- Every action exists for a person in the app and for their assistant over MCP.
What it is made of
- Account
- One login per person: email, password, first name and age, 18 or older. Nobody shares a login, because nobody shares a yes.
- Household
- One person (single), two (a couple) or three and more (a group). Whoever sets up a couple or group gets a personal invite link for each partner; until a partner joins with their own login, they show as “invited, not joined yet”.
- Light
- Who the household would like to meet, what it is open to, where, and optionally when, in its own words.
- Knock
- A proposal to a light, with a reason. It holds a yes, a no or a wait for every person on both sides, and the knocking side’s people count too.
- Standing permission
- A yes a person gives in advance, for themselves only: “verified couples, VR only”, or “my yes goes with Jonas’s yes for knocks that fit our light”. The app says which one answered.
- Mandate
- What a person’s assistant may do at all: look, write lights, knock, answer, and how many knocks a day.
For builders: the fields, and a light as JSON
Each person’s own yes
Nobody is shown or committed without their own yes. That one rule decides everything else on a porch with more than one person:
- A couple’s or group’s light reaches the street only after every person approved it. Whoever writes it approves by writing it; the others see “Jonas wrote a light for you both” and approve, change or say no. A change by one person asks the others again.
- Anyone on the porch may knock: the light everyone approved already made the household visible. Knocking gives the knocker’s own yes, and nobody else’s.
- A door opens only when every person in both households said yes.
- One partner can handle everything without answering for anyone: the others each set “My yes goes with Jonas’s yes” for themselves, and can take it back any time. The panel then shows “Yes (goes with Jonas)”.
- An assistant acts for exactly one person, the one whose key it holds. It never gives anyone else’s yes.
What a light says
“Turn on a light” asks one question per screen: who is coming (just me, a couple, a group, and what each person is), who you would like to meet (women, men, non-binary people, couples, groups), what you are open to, where, when, and your own words. What you are open to depends on the first two answers: a single chooses from friendship, talk and flirt, dating, something casual or serious, meeting a couple or group fun; a couple or group from social first, friendship, flirting, soft swap (everything except sex with the other partner), full swap (including sex), same room and inviting a single.
Matching goes both ways. You see a light only when each of you is in the other’s “who to meet”, you share a place (in person means the same city), and what you are open to fits together. Signed out, the street shows only the example households; real people see each other once they are signed in.
Open by default
A light has no time unless you add one. “Open” is the default and the recommendation: the light stays on until you turn it off. You can give it a time window instead.
Freshness. A light that nobody has confirmed for 28 days goes quiet. It drops off the street and asks its owners “Still on?”. One tap puts it back. This keeps the street honest without anyone having to chase old wishes.
Two doors
The app and the assistant’s door call the same functions. The assistant’s door is an MCP server: MCP, the Model Context Protocol, is the standard way for an AI assistant to use outside tools. Neither door has an action the other lacks, apart from the things below that only a person can do. Assistants never browse a feed: find_matching_lights returns only lights that fit both ways, and there is no tool that lists everything.
Contact stays closed until the door opens. Before that, neither door can read it.
What only a person can do
- Verify identity. An assistant cannot vouch for anyone.
- Change what the assistant may do, and give or take back a standing permission. Each person sets their own, in the app.
- Give a final yes, to a knock or to a light a partner wrote. Over MCP, a yes is refused with a clear message unless the person’s own standing permission covers it. A no is always allowed.
Shared limits
The daily knock limit counts a household’s knocks through either door together, ten a day by default. The app shows it as “7 of 10 knocks left today, through either door”. An assistant that hits the limit gets the same refusal a person would.
Door labels
Every action records the door it came through, and the app shows it as a small label. There are two doors, so there are two labels.
- Sent by you
- A person did it in the app.
- Sent by their assistant
- An assistant did it over MCP, for the one person whose key it holds.
Connect an assistant
Every person has their own assistant address. Make it on Your porch: it ends in a secret key, is shown once, and “Make a new address” replaces it (the old one stops at once). The key also works as a header, Authorization: Bearer YOUR_KEY. Without a key, the address below is an anonymous demo in memory that acts for Sam of the example couple Sam & Alex.
Copy your address from Your porch
https://porchlightdating.lovable.app/mcp?key=YOUR_KEYTo try the tools first without signing in, use the demo address
https://porchlightdating.lovable.app/mcp.Add it to your assistant and restart it
Add this to your Claude Desktop config
{ "mcpServers": { "porchlight": { "type": "http", "url": "https://porchlightdating.lovable.app/mcp?key=YOUR_KEY" } } }Ask “Who am I on Porchlight?”
Your assistant should call
whoamiand answer with your name and your household. Change what it may do on Your porch.
The tools
Ten tools, with the same names and shapes as the actions in the app. Answers are shortened here.
whoamiWho you act for, what you may do, and the knocks left today.
Says which person you act for, their household, what they allow, and how many knocks are left today. Call it first.
Call
{}Answer
{
"person": {
"id": "p_mara",
"name": "Mara",
"gender": "woman"
},
"household": {
"display_name": "Mara and Jonas",
"kind": "couple",
"people": [
{
"id": "p_mara",
"name": "Mara"
},
{
"id": "p_jonas",
"name": "Jonas"
}
]
},
"mandate": {
"may": {
"browse": true,
"post_lights": true,
"send_knocks": true,
"answer_knocks": true
},
"knocks_per_day": 10
},
"knocks_left_today": 9
}find_matching_lightsLights that fit both ways, each with the reason.
get_lightOne light in full, with the people behind it.
turn_on_lightWrite a new light for your person's household.
turn_off_lightSwitch one of your lights off.
confirm_lightSay a light is still on.
knockKnock on a light, with a reason.
list_knocksKnocks on your lights, or knocks you sent.
answer_knockAnswer a knock for your person, and only them.
get_open_doorsDoors that are open, with contact details.
What a real version adds
- Verified identities, checked by a person or a service, not a button.
- Email confirmation and password reset. The prototype sends no email at all, so a forgotten password means a new account.
- Durable records with a retention promise. The prototype keeps accounts and the street in one database table and may wipe them.
- Safety reporting, blocking and a way to leave a door open for help.
- Moderation, for lights, reasons and pictures, with people reading what is reported.