2025-08-04 14:25:33 +02:00
2025-08-04 10:26:19 +02:00
2025-08-04 10:26:19 +02:00
2025-08-04 14:25:33 +02:00
2025-08-03 01:01:06 +02:00
2025-08-04 10:16:24 +02:00
2025-07-28 12:25:42 +02:00
2025-08-04 14:25:33 +02:00
2025-08-03 03:35:59 +02:00
2025-08-04 09:56:30 +02:00
2025-07-30 05:12:55 +02:00
2025-08-04 11:44:24 +02:00
2025-07-28 13:37:14 +02:00
2025-08-04 14:23:30 +02:00
2025-08-04 14:23:42 +02:00
2025-08-03 01:46:26 +02:00
2025-08-03 01:51:39 +02:00
2025-08-04 10:26:19 +02:00
2025-08-04 11:44:24 +02:00
2025-08-04 10:26:19 +02:00
2025-08-03 01:45:41 +02:00
2025-08-03 14:00:03 +02:00
2025-07-29 11:33:52 +02:00
2025-08-04 14:25:33 +02:00
2025-08-04 14:25:33 +02:00
2025-07-27 17:36:52 +02:00
2025-08-04 10:26:19 +02:00
2025-08-03 01:53:47 +02:00
2025-08-04 11:34:01 +02:00
2025-08-04 14:23:30 +02:00

BayesBond

This repository provides the source code for BayesBond, a web application where rational thinkers can bond and form deep 1-1 relationships in a fully transparent and efficient way. It just got released—please share it with anyone who would benefit from it!

To contribute, please submit a pull request or issue, or fill out this form for suggestions and collaborations.

Features

  • Extremely detailed profiles for deep connections
  • Radically transparent: user base fully searchable
  • Free, ad-free, not for profit
  • Supported by donation
  • Open source
  • Democratically governed

The full description is available here.

To Do

  • Authentication (user/password and Google Sign In)
  • Set up PostgreSQL in Production with supabase or prisma console (can stick with SQLite in dev / local)
  • Set up hosting (vercel)
  • Ask for detailed info per profile upon registration (intellectual interests, location, cause areas, personality type, conflict style, desired type of connection, prompt answers, gender, etc.)
  • Set up page listing all the profiles
  • Search through all the profile variables
  • (Set up chat / direct messaging)
  • Set up domain name (https://bayesbond.com)

Secondary To Do

Any action item is open to anyone for collaboration, but the following ones are particularly easy to do for first-time contributors.

  • Clean up terms and conditions
  • Clean up privacy notice
  • Clean up learn more page
  • Add dark theme
  • Cover with tests (almost nothing is covered right now)

Implementation

The web app is coded in Typescript using React as front-end and Prisma as back-end. It includes:

Development

After cloning the repo and navigating into it, install dependencies:

npm install

You now need to configure your database connection via an environment variable.

First, create an .env file:

cp .env.example .env

To ensure your authentication works properly, you'll also need to set the AUTH_SECRET [env var for NextAuth.js] (https://next-auth.js.org/configuration/options). You can generate such a random 32-character string with:

npx auth secret

In the end, your entire .env file should look similar to this (but using your own values for the env vars):

DATABASE_URL="file:./dev.db"
AUTH_SECRET="gTwLSXFeNWFRpUTmxlRniOfegXYw445pd0k6JqXd7Ag="

Run the following commands to set up your local development database and Prisma schema:

npx prisma migrate dev --name init

Note that your local database will be made of synthetic data, not real users. This is fine for development and testing.

Make sure the tests pass:

npm run test

Start the development server:

npm run dev

Once the server is running, visit http://localhost:3000 to start using the app. Now you can start contributing by making changes and submitting pull requests!

See development.md for additional instructions, such as adding new profile features.

Description
No description provided
Readme AGPL-3.0 12 MiB
Languages
TypeScript 93.6%
JavaScript 1.9%
CSS 1.3%
PLpgSQL 1.1%
Shell 1%
Other 1%