Skip to main content

A local-first relationship memory desk for thoughtful follow-ups.

Project description

Kindred Keeper

Kindred Keeper is a private, local-first relationship memory desk for thoughtful follow-ups. Add people you care about, jot down small details after calls or visits, and it builds a practical plan for check-ins, promises, birthdays, and meaningful moments.

Everything runs on your computer with the Python standard library. There is no account, upload, telemetry, or hosted database.

Kindred Keeper dashboard

Features

  • Local browser app backed by a JSON file on your machine.
  • Contact profiles with relationship, cadence, interests, and last touchpoint.
  • Note analysis that extracts interests, promises, dates, sentiment, and relationship signals.
  • Lightweight local classifier trained on celebration, support, commitment, and interest examples.
  • Planning workflow that ranks overdue follow-ups, open commitments, and upcoming dates.
  • Suggested message drafts that stay specific to the person and the reason for reaching out.
  • Copy-ready weekly relationship plan.
  • Seeded demo workspace so the full workflow is visible on first launch.

Installation

Requirements:

  • Python 3.10 or newer
git clone https://github.com/iwaheedsattar/kindred-keeper.git
cd kindred-keeper
python3 app.py

Open http://127.0.0.1:8768.

To use a custom local data file:

python3 app.py --data ./my-kindred-data.json

Example Usage

  1. Launch the app with python3 app.py.
  2. Review the seeded relationship plan.
  3. Add a person you want to stay close to.
  4. Save a note such as:
Lina loves Korean food and ceramics. Promised to send the podcast link. Her recital is Jul 16.
  1. Review the follow-up plan and copy the weekly plan into your calendar or notes app.

How It Works

Kindred Keeper uses a small local planning pipeline:

  1. Notes are tokenized and scored with a compact multinomial classifier.
  2. Extractors find promises, dates, and interest phrases.
  3. Each contact receives warmth and attention scores based on cadence, open commitments, support signals, and recent notes.
  4. The planner ranks next actions and writes a short message draft for each one.

The pipeline is intentionally small and transparent so personal relationship notes stay local and understandable.

Development

python3 -m unittest discover -s tests
python3 app.py --no-open --data ./.kindred-keeper-data.json

Package build:

python3 -m build --no-isolation

Project Layout

  • kindred_keeper/engine.py contains note analysis, scoring, and planning.
  • kindred_keeper/storage.py manages the local JSON workspace.
  • kindred_keeper/server.py serves the local web app and JSON API.
  • static/ contains the browser UI.
  • tests/ covers extraction, summary scoring, and action planning.

Roadmap

  • Calendar export for planned check-ins.
  • Import from a simple contacts CSV.
  • Reminder notifications in a desktop wrapper.
  • Optional encrypted data file.
  • Better recurring-date handling for birthdays and anniversaries.

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kindred_keeper-0.1.0.tar.gz (16.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

kindred_keeper-0.1.0-py3-none-any.whl (16.1 kB view details)

Uploaded Python 3

File details

Details for the file kindred_keeper-0.1.0.tar.gz.

File metadata

  • Download URL: kindred_keeper-0.1.0.tar.gz
  • Upload date:
  • Size: 16.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.5

File hashes

Hashes for kindred_keeper-0.1.0.tar.gz
Algorithm Hash digest
SHA256 22d07ea67db662d0592248bd7c724a282a104c1b3ae359407a9d89461f63af97
MD5 9624d6fa915e797054ae621659de6478
BLAKE2b-256 ca907325f91f2a4a2b4c4d9e64545ec096c2d4bf8ba7cd20416e150c1fbab162

See more details on using hashes here.

File details

Details for the file kindred_keeper-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: kindred_keeper-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 16.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.5

File hashes

Hashes for kindred_keeper-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 36278b1c91a781d713f15ff00bc0b156ea84d88830df54d067500501198f505b
MD5 9321cbe80c22a3ea929a92b6940d1f05
BLAKE2b-256 531cca132cdc57f7c09032b253931062b563452ecd8bca2be91fd3ed0e91526c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page