Date Me Directory

This is the source code for the Date Me Directory.

Contributions welcome! I am actively looking for collaborators to help manage the directory. Please reach out if you'd be interested in helping out :)

Architecture

The original version of the Date Me Directory was built on Notion and published with Super.

This version of the site still uses Notion to store the data and NoteForms for the form to get your submission into Notion. I intend to cut Notion out of the equation shortly by building our own HTML form that writes data directly to my sqlite database.

Contributing

  1. Fork this main val to your account.
  2. You'll then need a SQLite database with the right schema and profiles. Import and call these functions to do so: https://www.val.town/v/stevekrouse/dateme_sqlite.

Todos

  • Make a form to send data directly to sqlite (in progress: @stevekrouse/date_me_form)
    • Require an email (Tell them it'll be private)
  • Filters: Gender, Interested In, Style, Location, etc
  • Table: hide location, location flexibility, community, contact, last updated in more details
  • Refactor Location to an array of Lat, Lon
    • Geocode all the existing locations
    • Add a geocoder map input to the form
    • Allow selecting multiple location through the form
  • Make a better landing page
    • tagline: date thoughtfully
    • primary action: let's find you a nerd, ask you for your location, age, gener preferences, etc
    • Secondary action to learn more or make your own doc
  • Profile performance & speed up site, possibly add more caching
  • Let people edit their forms
  • Featured profiles
Readme
Fork
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
/** @jsxImportSource https://esm.sh/preact */
import { docs_table } from "https://esm.town/v/stevekrouse/date_me_docs_table";
import { date_me_faq } from "https://esm.town/v/stevekrouse/date_me_faq";
import date_me_form from "https://esm.town/v/stevekrouse/date_me_form";
import { html } from "https://esm.town/v/stevekrouse/html";
import { Hono } from "npm:hono@3";
import { render } from "npm:preact-render-to-string";
let linkClass = "text-sky-600 hover:text-sky-500";
const app = new Hono();
app.get("/form", (c) => c.html(date_me_form));
app.post("form", (c) => {
return c.html("Thanks for submitting your date me doc!");
});
app.get("/", async (c) => {
let page = (
<html>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<script src="https://cdn.tailwindcss.com"></script>
<link
rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/github-fork-ribbon-css/0.2.3/gh-fork-ribbon.min.css"
/>
<link
rel="stylesheet"
href="https://cdn.datatables.net/1.13.7/css/jquery.dataTables.min.css"
/>
<script src="https://code.jquery.com/jquery-3.7.0.js"></script>
<script src="https://cdn.datatables.net/1.13.7/js/jquery.dataTables.min.js"></script>
</head>
<body>
<a
class="github-fork-ribbon"
href="https://www.val.town/v/stevekrouse/dateme"
data-ribbon="Code on Val Town"
title="Code on Val Town"
>
Code on Val Town
</a>
<div class="p-10 flex flex-col space-y-6">
<h1 class="font-bold text-3xl">Date Me Directory</h1>
<div class="max-w-3xl flex flex-col space-y-2">
<p>
Date Me Docs are long-form, earnest dating profiles for serious romantic partners.
</p>
<p>
The practice of making and sharing Date Me Docs spread within tech, rationalist, and effective altruism
👆 This is a val. Vals are TypeScript snippets of code, written in the browser and run on our servers. Create scheduled functions, email yourself, and persist small pieces of data — all from the browser.