DEV Community

chovy
chovy

Posted on Originally published at dev.profullstack.com

OpenProfile.md 0.2: answer the forty dating-site questions once

Every dating site asks the same forty questions, and every one keeps the answers behind its own login. Your birthday, your height, whether you smoke, whether you want children, who you are looking for and how far away. You type them into Hinge, then into Bumble, then into the next one, and none of them will hand the answers back.

OpenProfile.md is the one Markdown file that says who you are and where you are, served from your own domain and linked from every platform that has a page for you. Today it gets a ninth rule: a Match section, so the forty questions are answered once, in a file you own, and any platform that pairs people can read them.

What goes in it

## Match

- **Born**: 1990-05-12
- **Gender**: woman
- **Orientation**: bisexual
- **Status**: single
- **Height**: 168 cm
- **Children**: none
- **Wants children**: open
- **Smoking**: never
- **Seeking**: everyone
- **For**: long-term
- **Ages**: 30-45
- **Distance**: 50 km
- **Not**: smokers, long-distance

## Photos

- https://ada.example/photos/garden.jpg
Enter fullscreen mode Exit fullscreen mode

Two kinds of key. About you: Born, Gender, Orientation, Status, Monogamy, Height, Body, Children, Wants children, Smoking, Drinking, Cannabis, Drugs, Religion, Politics, Ethnicity, Education, Work, Diet, Pets, Exercise, Zodiac. About who you seek: Seeking, For, Ages, Distance, and Not, which is dealbreakers and wins over everything else. Every value is kept as written and matched loosely, the way Topics already are. Every key is optional. A key nobody thought of is kept too.

Dating, Matching, Partner and Looking for all normalise to the same section, because the words on your page are yours.

Two rules that do not bend

The rest of OpenProfile.md degrades rather than fails. These two do not.

Born is required for matching, and it must give eighteen or more. A reader that finds no Born, or computes an age under 18 from it, does not list the profile in a matching context at all. It is the one key a dating platform must have, and the only one.

Nothing is inferred. A platform never fills a Match key from a photo, a name, a handle or another site. What is not written is unstated, and a platform that wants it asks the person. Orientation, religion, politics and ethnicity are the categories of personal data most laws protect, and the file is public by nature. So you put in it what you would put on a public profile page, and a platform that imports it stores no more than you confirmed with it and drops it when your file does.

Why now

We are building a dating site, and I did not want to build another forty-question form that eats the answers. The form is a Markdown file. The site reads it, verifies your accounts the way OpenProfile.md already does, and matches. When you leave, the file is still yours, and the next site reads the same one.

The spec is at logicsrc.com/docs/openprofile, version 0.2, CC BY 4.0. Serve one at /.well-known/openprofile.md.

Top comments (1)

Some comments may only be visible to logged-in visitors. Sign in to view all comments.