Skip to content

Rewrite App to local-first contact debt tracker with 3-party cycle detection and import/export#290

Draft
unclehowell wants to merge 1 commit into
dccfrom
codex/create-debt-cancellation-circle-app
Draft

Rewrite App to local-first contact debt tracker with 3-party cycle detection and import/export#290
unclehowell wants to merge 1 commit into
dccfrom
codex/create-debt-cancellation-circle-app

Conversation

@unclehowell
Copy link
Copy Markdown
Owner

Motivation

  • Replace the previous complex, multi-component DCC ledger with a simpler, local-first contact-based debt tracker focused on GBP balances and offline portability.
  • Provide an easy export/import workflow and surface 3-party debt cancellation opportunities for small group reconciliation.

Description

  • Reimplemented App.tsx to a self-contained React + TypeScript UI that stores per-contact debts (name, email, theyOweMeGbp, iOweThemGbp) in localStorage under the key dcc-circle-cache-v1 and removed the previous multi-component architecture and many unused imports.
  • Added cleanMoney normalization, ContactDebt and Edge types, and hooks for loading/saving cached rows, plus an exportedBase64 representation for easy sharing.
  • Implemented edge construction and 3-party cycle detection (me -> A -> B -> me) with cancellable amount calculation and de-duplication of suggestions.
  • Added UI for adding/removing rows, viewing people & debts, copying/exporting the Base64 string, and importing a Base64 dataset with validation and ID repair, and updated README.md to document features and local development steps.

Testing

  • No automated tests were run against these changes.

Codex Task

@cloudflare-workers-and-pages
Copy link
Copy Markdown

cloudflare-workers-and-pages Bot commented May 24, 2026

Deploying cnei with  Cloudflare Pages  Cloudflare Pages

Latest commit: 39724f8
Status: ✅  Deploy successful!
Preview URL: https://4c8fc227.cnei.pages.dev
Branch Preview URL: https://codex-create-debt-cancellati.cnei.pages.dev

View logs

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant