- JavaScript 48.1%
- HTML 22.3%
- Python 20.7%
- TypeScript 5.9%
- CSS 2.2%
- Other 0.8%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
|
|
||
| .forgejo/workflows | ||
| .vscode | ||
| cf-worker | ||
| tools | ||
| wwwroot | ||
| .gitignore | ||
| .hintrc | ||
| .markdownlint.yml | ||
| AGENTS.md | ||
| CLAUDE.md | ||
| CONTRIBUTING.md | ||
| LICENSE | ||
| Makefile | ||
| README.md | ||
| wrangler.jsonc | ||
About ShareKinks.com
In the kink world, sometimes tops/doms and bottoms/subs have difficulty communicating what they want or don't want. ShareKinks.com was created by gayhypnoguy to address this problem without requiring anyone to create an account.
Frequently Asked Questions (FAQs)
How do I use this site?
Browse the kink list using search, categories, or scrolling. For any kink role, select an interest level to indicate interest or mark it as a Hard Limit. Tap again to clear your selection.
If you don't have an opinion on a kink, leave it unselected. Choose None only when you want to state explicitly that you have no interest in that role. You can add notes to provide extra context.
Tap the Share… button to generate a public share link and a management link. The public share link can be shared with anyone you want. Keep the management link private. It can be used to update the selections at the shared link or delete the shared link.
As an example, here is the public share link for my kinks.
How is this different from [insert website]?
ShareKinks.com has a unique set of features compared to other kink-sharing sites:
- It is mobile-friendly and responsive.
- It doesn't require (or even offer) an account.
- It doesn't require you to fill out every kink option or complete a quiz to get a sharable link.
- The share button actually works.
- Clear descriptions are provided for every kink and role.
- You can add notes to any kink role to provide clarifying details.
- You can change your selections without needing a new share link.
- You can delete the share link at any time.
- It can be used as a mobile app.
I can't believe you included [kink name] in here! That's gross!
That's not a question. 😝 Select Hard Limit if you have a strong dislike of a particular kink or role; that's what the button is for. One of the goals of this project is to list as many kinks as possible, as long as the activity is between consenting adults.
The list is missing one or more of my kinks. How can those get added?
I'm working on adding more kinks to the list as I have time. Contact me on Telegram or Discord and we can talk about it. You can also open an issue or pull request for this project on KinkForge.net.
Talk nerdy to me. How does this website work?
At a high level, this site is a privacy-first, browser-driven application with a deliberately tiny backend whose only responsibility is storing and retrieving shared selections. There are no accounts, no trackers, and no persistent user identity.
The core design principle is to minimize what data exists at all, not just how it's protected.
Kink data (the taxonomy)
- All kink definitions are stored as static YAML files on the website.
- Every browser loads the same read-only reference data.
- This data contains no user information.
The kink list is treated as code, not user-generated content.
User selections (local-only state)
- As you select interest levels, selections are stored only in memory in your browser.
- Nothing is sent to the server while you browse or make selections.
No account. No cookies. No analytics.
Legacy sharing (URL fragments)
- Older links encode selections directly in the URL fragment (
#). - These links are still supported for backwards compatibility.
- URL fragments are processed entirely client-side and are never sent to the server.
This approach is private, but produces URLs that are too long to be used on messaging and link-sharing platforms.
Modern sharing (short links with built-in permissions)
When you tap Share…:
- Your selections are serialized into a compact state object.
- That state is sent to a small API running on Cloudflare Workers.
- The backend stores:
- The state object.
- A random public ID.
- A separate secret edit token, stored only as a hash.
- Schema version numbers.
- Timestamps for record creation and modification.
- The app shows you:
- A public share link (view-only).
- A management link (edit/delete).
How permissions work:
- Anyone with the public link can view the selections.
- Only someone with the management link can modify or delete them.
- There is no login or user record; the link itself is the permission.
Why not crowdsource kinks from pull requests on GitHub or GitLab?
Explicit sexual and fetish content of this nature is not permitted on those platforms. so I created my own place to host this project (with blackjack and hookers!): KinkForge.net.
How can I trust this website?
Open the developer tools built into your browser by right-clicking on the web page, choosing Inspect or Developer Tools, selecting the Network tab, and refreshing the page. As you browse and make selections, you can see that no network traffic occurs. Traffic only occurs when you tap the share button, or when you edit selections through a management link, which saves your changes automatically a moment after each change. Clicking on the network traffic shows you exactly what information is sent.
On your first visit, the site also stores a copy of its own files (HTML, CSS, JavaScript, the kink list, and icons) in your browser so it can load offline. Those files are only ever fetched from this website, and that cache never contains your selections.
Can I install this as an app?
Yes. ShareKinks.com is a Progressive Web App (PWA). Once installed, it opens in its own window with the site icon, and browsing the kink list works without an internet connection. Creating, updating, or viewing share links still requires a connection.
- Safari on iPhone or iPad: Tap the Share button (the square with an arrow pointing up), scroll down, and tap Add to Home Screen, then tap Add.
- Safari on Mac: Open the File menu and choose Add to Dock…, then click Add. Requires macOS Sonoma or later.
- Google Chrome on desktop: Click the install icon (a monitor with a down arrow) at the right end of the address bar, or open the ⋮ menu, choose Cast, save, and share, then Install page as app…, and click Install.
- Google Chrome on Android: Tap the ⋮ menu, then tap Add to Home screen or Install app, then tap Install.
- Microsoft Edge: Click the install icon at the right end of the address bar, or open the … menu, choose Apps, then Install this site as an app, and click Install.
Was this project created using AI?
The website icon was created by a human and fellow hypnokinkster who goes by the name Wednesday. Much of the code was created by GPT-5.2, and later by Claude, but always under my supervision and review. This site was not simply vibe coded.
I write some Python code as a part of my job in cybersecurity. I know some HTML and JavaScript, but those skills are rusty. I knew what I wanted to create, but I don't know any web developer kinksters who can help create my vision for the community.
In software development, it has become common to use AI as a productivity tool for initial drafting and code review. Many of the kink websites we use are made by very small teams of developers. I would be surprised if they don't do the same. I'm being open about the origins of this site out of honesty and ethics. If any kinky web developer wants to join me in contributing to this project, I would greatly welcome that.
I completely understand the kink community's boycott of anything AI, especially in art. AI art has no place in the art world; typing a prompt to generate an image stolen from the artists whose work the model was trained on is not art.
I hope that this boycott will not extend to this website because I used AI as a productivity tool in its creation and was honest about it. It was created by and for the kink community.
Can I get a copy of this project?
Absolutely! You can find an archive of the project at this link.