commit ef35e94362e71ed503a8ca02159eeabcd24ee1a4 Author: cursor <cursor@cursor.cursor> Date: Mon Mar 17 20:39:00 2025 +0000 feat: first commit diff --git a/README.md b/README.md new file mode 100644 index 0000000..4cd996a --- /dev/null +++ b/README.md @@ -0,0 +1,61 @@ +# TrackStr + +TrackStr is a privacy-preserving time-tracking tool for organisations who pay remote staff on an hourly basis. + + +## Architecture + +```mermaid +architecture-beta + group user(internet)[End User] + service browser(internet)[Browser] in user + + group home(logos:aws-s3)[Under the Desk] + + service dvm(logos:aws-ec2)[DVM] in home + service k(logos:aws-ec2)[Kimai] in home + service db(database)[Database] in home + + dvm:T -- B:db + dvm:T -- B:k + dvm:T -- B:relay + dvm:T -- B:blossom + + group cloud(cloud)[Cloud VPS] + service relay(disk)[Relay] in cloud + service blossom(server)[Blossom] in cloud + + + browser:L -- R:relay + browser:L -- R:blossom + + +``` + +## Basic Flow + +```mermaid +sequenceDiagram + autoNumber + + actor u as User + participant e as Electron App + participant b as Blossom + participant r as relay + participant d as dvm + + u->>e: Choose project <br> & Start timer + Note over u: Do work & <br> prepare PoW + u->>e: Register PoW + e->>b: Load encrypted<br> PoW to Blossom + e->>r: Notify DVM + Note over u: Snooze + d<<->>r: Fetch notification + Note over d: fetch & decrypt<br> data, add <br> to DB + Note over d: stop timer after<br> interval + + + + + +``` \ No newline at end of file diff --git a/architecture.png b/architecture.png new file mode 100644 index 0000000..ea3512c Binary files /dev/null and b/architecture.png differ diff --git a/diagram1.png b/diagram1.png new file mode 100644 index 0000000..97537a2 Binary files /dev/null and b/diagram1.png differ diff --git a/ostrich.png b/ostrich.png new file mode 100644 index 0000000..30e6b4a Binary files /dev/null and b/ostrich.png differ diff --git a/slides.md b/slides.md new file mode 100644 index 0000000..9c94794 --- /dev/null +++ b/slides.md @@ -0,0 +1,81 @@ +--- +marp: true +paginate: true +backgroundColor: white +auto-scaling: fittingHeader +theme: default +--- + +<!-- +npx @marp-team/marp-cli pitch.md -o pitch.html --html=true + +--> + +# TrackStr + +## Proof of Work + +> “We're working on a new time-tracking system that’s fully peer-to-peer, with no trusted third party.” + + + +--- + +# Existing Native Apps + +* Hubstaff, Trackabi, Ever Gauzy +* Screenshots, URL capture, mouse / keyboard tracking +* Invasive, must trust a third party + +_High Proof, Low Sovereignty_ + +--- + +# Existing Web Apps + +* Toggl, Time Tagger, Kimai +* Start / Stop Timer based +* Easy to "game", or to forget the timer is running + +_Low Proof, High Sovereignty_ + +--- + +# Enter - Trackstr + +--- + +# User Experience + + - Start timer + - Periodically (configurable): + - Proof of Work (markdown notes, screenshots) + - Proof of Who (signed note) + - Proof of When (OTS) +- Stop timer (is stopped automatically after certain period) + +--- + +# Data Flow + +- Data encrypted and loaded to blossom +- Link + decryption key sent to backend using DVM +- backend downloads, decrypts, and stores in local DB + +--- + +# Architecture + +- Web app +- Blossom +- Relay +- DVM +- [Kimai](https://kimai.nostrdev.com/api/doc) + + + +--- + +# Flow + + \ No newline at end of file