KinkList is a privacy-first static Next.js app for building, filling, and sharing customizable kink checklists. It is designed to work on GitHub Pages, so the site can be hosted as a simple static export without a backend.
Try KinkList here: https://hypeoman.github.io/KinkList/
Screenshot placeholder:
GIF/demo placeholder:
- Builds the checklist from plain text configuration.
- Supports localized default configs and localized UI.
- Lets people rate each item with color-coded response options.
- Stores the current state in the URL for easy sharing.
- Exports results as PNG and TXT.
- Supports light and dark themes.
- Allows editing sections, columns, items, and response options directly from the UI.
The checklist is generated from a text format like this:
# Section title
(Column 1, Column 2)
* Item title ::: Optional hint
You can also define custom response options:
!options: not-entered|not entered|#ffffff; favorite|favorite|#f6abc8
Column rules:
- If no column line is provided, the app creates one empty column.
()also creates one empty column.(One column)creates one named column.(A, B)creates two columns.- Empty positions such as
(A,)are preserved.
The UI is localized through JSON files in locales/. Each locale currently contains:
- UI strings
- localized help text
- a localized default checklist config
Current locales:
- Russian
- English
If a selected locale does not provide a default config, the app falls back to the English default config.
- The page URL updates as answers and settings change.
- PNG export asks for a custom filename and exports a clean summary card.
- TXT export creates a readable text summary of the filled checklist.
- Next.js 15
- React 19
- TypeScript
- static export for GitHub Pages
Install dependencies:
npm installRun the development server:
npm run devBuild the static site:
npm run buildThe production-ready static output is generated in out/.
This repository includes a GitHub Actions workflow for GitHub Pages deployment:
- workflow file:
.github/workflows/deploy-pages.yml - output mode: static export
Once GitHub Pages is enabled for the repository, pushes to main can publish the site automatically.
Planned directions for future development:
- Add checklist presets for different use cases.
- Add a partner comparison mode with match/conflict filters.
- Add local saved lists without requiring accounts or a backend.
- Add import/export for checklist configuration files.
- Add a visual checklist editor for sections, items, columns, and response options.
- Improve PNG export with compact/full layouts and answered-only mode.
- Add PDF export.
- Add parser and serializer unit tests.
- Add automatic locale consistency checks.
- Improve accessibility, including keyboard navigation and screen reader feedback.
app/- app routes, page UI, and styleslib/- parser, serialization, and i18n helperslocales/- locale JSON files, including default configspublic/- static assets
Contribution guidelines are documented in CONTRIBUTING.md.
If you are working on translations, read the translation section there carefully before opening a pull request. Translation changes in this project affect both UI strings and the default localized checklist config, so structural consistency matters.

