vibehunt.tech

Vocabularies

Two standard vocabularies the protocol relies on: the list of categories every Capability picks one of, and the namespaced constraint terms Capabilities can claim and Needs can require.

Categories

v0.1

The standard list of app categories. Every Capability picks one. Modeled on the kind of categories the Apple App Store and Google Play use, trimmed for the indie-software audience.

Productivityproductivity
Tools for getting things done — task managers, calendars, project trackers, reminders.
Notes & Writingnotes-writing
Note-taking, journaling, document editors, knowledge management.
Readingreading
RSS readers, read-later, books, long-form reading.
Developer Toolsdeveloper-tools
Editors, IDEs, version control, build tools, terminal apps, API clients.
Utilitiesutilities
System tools, file sync, networking, storage, automation, password managers.
Communicationcommunication
Chat, email, video calls, messaging.
Music & Audiomusic-audio
Music players, audio editors, podcast clients, soundscapes.
Photo & Videophoto-video
Image editors, video players, photo libraries, screen recording.
Creativitycreativity
Drawing, design, generative art, music creation, 3D modeling, animation.
Financefinance
Budgeting, accounting, banking, investing, expense tracking.
Health & Fitnesshealth-fitness
Activity tracking, nutrition, sleep, mindfulness, workouts.
Educationeducation
Learning apps, language tools, study aids, flashcards, courses.
Socialsocial
Social networks, community apps, forums, fediverse clients.
Gamesgames
Video games and playful software.
Lifestylelifestyle
Habits, weather, recipes, home, travel.

Constraints (core: vocabulary)

v0.1

The core constraint vocabulary. Every term is namespaced (`core:term`) so matching strictness is explicit. Capabilities declare which terms they satisfy; Needs declare which they require.

Storage & connectivity

group: architecture

How the software is structured, where state lives, and how it reaches the network.

Your data lives on your devicecore:local-first

The app works fully on your computer or phone, even without internet. Your data isn't trapped on someone else's server.

Technical definition

The software's primary state lives on the user's device. Sync, when present, is auxiliary — the software remains fully functional offline and the user's data is never held hostage by a server.

Works offlinecore:offline-capable

You can use the main features without an internet connection.

Technical definition

The software's core features work without a network connection, even if some features (sync, AI, search) require one. Weaker than `core:local-first`: an offline-capable app may still treat the server as authoritative.

You can run your own servercore:self-hostable

Skip the company's hosting and run the software on your own machine or a server you rent.

Technical definition

The user can run the software's server components on their own hardware or VPS, with documentation sufficient to do so. Excludes software where 'self-hosting' requires reverse-engineering or unsupported builds.

End-to-end encryptedcore:end-to-end-encrypted

Your content is locked with a key only you have — even the company can't read it.

Technical definition

User content is encrypted on the user's device with keys the vendor cannot access. The vendor's servers, if any, store only ciphertext.

Talks directly between your devicescore:peer-to-peer

Your devices sync directly with each other rather than through a company's server.

Technical definition

Software whose primary data flow is directly between user devices, without a central server mediating content. Discovery or relay servers may exist but do not store user data.

Data ownership

group: ownership

Whether the user can read, move, and keep their own data without the vendor's cooperation.

Standard, open file formatcore:open-format

Your data is in a format other tools can read — you're never locked in.

Technical definition

User data is stored in a documented, non-proprietary format that any third party can read and write without reverse engineering or licensing.

Easy to export your datacore:exportable

Download all your data any time, in a format you can actually use elsewhere.

Technical definition

The user can export their full data set in a usable format at any time, without paywalls, throttling, or feature degradation. Exported data must be sufficient to migrate to comparable software.

Plain-text files you can edit anywherecore:plain-text-storage

Your content is saved as readable text files in folders you control. Open or edit them with any other tool.

Technical definition

User content is stored as human-readable plain-text files (Markdown, plain text, JSON, etc.) in a directory the user can navigate, version, and back up with standard tools. Stronger than `core:open-format`.

No vendor lock-incore:no-vendor-lock-in

If you ever want to leave, you can take your data and your workflow with you.

Technical definition

The user can leave the software for a comparable alternative without losing data, formatting, or workflows that depend on proprietary features. Implies `core:exportable` and is usually enabled by `core:open-format`.

Source code

group: licensing

The legal terms under which the software's source code is distributed.

Open sourcecore:open-source

Anyone can read, modify, and redistribute the code.

Technical definition

The software's source code is published under a license that permits inspection, modification, and redistribution. Includes both OSI-approved licenses and source-available licenses with usage restrictions.

Free software (FSF-approved)core:libre

Open source under a license the Free Software Foundation recognizes, with no use restrictions.

Technical definition

Stricter than `core:open-source`: the software is licensed under terms approved by the Free Software Foundation (GPL, MIT, BSD, Apache 2.0, etc.) without field-of-use restrictions. Implies `core:open-source`.

Source-availablecore:source-available

You can read the code, but the license restricts certain uses (like reselling or running it commercially).

Technical definition

Source code is published but under terms that restrict commercial use, redistribution, or modification (e.g. BUSL, SSPL, custom licenses). Weaker than `core:open-source`.

Pricing

group: cost

How the software is paid for and what payment unlocks.

Free version availablecore:free-tier

There's a meaningful free version you can use indefinitely without paying.

Technical definition

A version of the software is available at no cost indefinitely, with enough functionality to be useful on its own. Trials and time-limited demos do not qualify.

Pay once, use forevercore:one-time-purchase

Buy it once and use it forever — no recurring fees to keep it working.

Technical definition

Full access is granted for a single payment, with no ongoing fees required to keep using the software the user paid for. Optional upgrades or new major versions may be paid separately.

No subscription requiredcore:no-subscription

The core software doesn't need a recurring payment to keep working.

Technical definition

The software's primary functionality does not require a recurring payment. Optional subscriptions (cloud sync, hosted features) may exist but the unsubscribed product is fully usable.

Privacy

group: privacy

What the software does or does not collect about the user.

No trackingcore:no-telemetry

The app doesn't send your usage, analytics, or behavior back to the company.

Technical definition

The software does not transmit usage data, analytics, or diagnostic information to the vendor or third parties by default. Crash reports requiring explicit per-incident user consent are permitted.

No account neededcore:no-account-required

Use it without signing up or giving them your email.

Technical definition

The user can install and use the software's core features without creating an account, providing an email address, or otherwise identifying themselves to the vendor.

Automation & integrations

group: interop

How the software can be controlled, automated, and integrated by other software.

Customizable with scriptscore:scriptable

Extend or automate the app without modifying its source code.

Technical definition

The software exposes a documented automation surface (plugin API, scripting language, AppleScript, extension hooks) that lets users extend or automate it without forking the source.

Has a developer APIcore:has-api

Other software can integrate with it through a documented public interface.

Technical definition

The software exposes a documented, stable network API (REST, GraphQL, RPC, etc.) intended for third-party integration. Internal-only APIs that may break without notice do not qualify.

Has a command-line toolcore:cli-available

Comes with an official command-line interface for scripting and power users.

Technical definition

The software ships an official command-line interface, either as the primary surface or alongside a GUI, sufficient for scripting and unattended use.