Skip to main content
hendeaux
Things I’m building

Overlap

Overlap is my app for finding people who are curious about the same things I am. It turns the posts you save on X into a map of themes you choose. Then you can compare your map with a friend’s, or let people who chose similar themes find you.

The example uses made-up people, so you can look around without signing in. Overlap is an early beta.

The example on Overlap’s front page. A comparison reads both ways, and the bars show each theme’s share of a person’s chosen map. Nora and her saves are made up.

Why I made it

Overlap started with my own saved posts on X. I wanted to invite people I think I have overlap with, see where our interests actually meet, and maybe find better people to follow through the people they follow.

Saves are noisy, though. Not every post I bookmark says much about what I care about, and broad themes hide real differences: two people into engineering might be a backend engineer and a frontend engineer. So the themes are yours to choose, and themes like AI and engineering split into subtopics.

Bookmarks are evidence, not the answer

Your map gives each theme an emphasis from 1 to 10, and each theme’s share is its emphasis out of the total, so the shares always add up to 100%. Next to every slider, Overlap shows how many of your bookmarks mention that theme. That count is evidence for the setting, not the setting itself.

“Set from bookmarks” fills the sliders in from those counts if you want a starting point. It rounds to whole numbers, so the shares come out close to your bookmarks rather than exact. From there you move what you actually care about up or down.

Keeping the rows still

The map used to re-sort its themes by share every time a slider moved. Drag one theme below another and its row jumped to a new place under your finger, which ended the drag, or left you dragging a different theme.

Now every row stays where it was while you edit, and shows what its share was before. The edit is a draft: only you see it, and Discard puts everything back. Save makes it your map, a reload shows exactly what was saved, and comparisons with your connections use the new weights. Only then does the list re-sort.

Mid-edit, every row stays where it was and shows its earlier share. Nothing changes for anyone else until you save. A test map with made-up saves.
Later in the same test, after more edits, Save and a reload: the map shows exactly what was saved, now ordered by share.

The tradeoff is that while you’re editing, the list isn’t in order of share, so your biggest theme might not be at the top until you save. A browser test checks the fix by dragging sliders with a pointer and the keyboard at phone and tablet widths, then saving and reloading.

What stays private

You choose what Overlap reads from X, and nothing you save is shown to anyone until you select it. Exact saves are compared only when both people allow it, and only the saves each of you picked. Overlap never posts for you, and you can remove your account and everything in it at any time.

How it’s built

The frontend is React and Tailwind, built with Vite. The server is plain Node using its built-in SQLite. Sign-in uses X’s OAuth 2.0 flow with PKCE. The source has more than 300 server tests and browser journeys that use made-up members. It’s private because it includes licensed interface components.

Where it stands

Overlap is an early beta. You sign in with your X account, and payments are switched off, so nothing is for sale. If you’d like to try it or talk about how it works, get in touch.