Meet a person at a party, think of them the next day, and unparty.

WRAPPED.

2,254 conversations.

995 with ChatGPT. 1,259 with Claude. Across 489 active days, from April 2023 to June 2025.


7 pm

152 sessions at 19:00.

Loading AIWrappedVisualization...

The busiest single day was February 11, 2025. Twenty-nine conversations in one day.

The work was entirely in Swift.

1. Pinecone / semantic matching in Swift (midnight–7am)

- Resolving PineconeRESTClient type errors across multiple sessions

- Building an embedding service with EmbeddingConfig

- Semantic matching and chat response pattern analysis

- 6 hours of debugging + redesigning the embedding pipeline

2. SwiftUI UI work (2am, 10pm–midnight)

- Swipe actions debugging

- Color selection feature + SwiftUI palette overlay

- Profile photo + greeting layout on a cover view

- Navigation picker in a ZStack header

- Dynamic photo gallery with PhotosPicker

3. Draft / journaling system (8pm–midnight)

- Dual journal storage system

- Configurable draft settings class

- Draft count, decode errors, UserDefaults inspection


WHY THIS IS KEY

Feb 17 — First commit, full audit

Repo created and immediately put into a systematic audit: Idea Features, Thought Features, Profile ViewModel, Onboarding, Document, Buttons/UI library. All in one day. Launch screen → Onboarding → Start View flow established.

Feb 18–20 — The breakthrough days

Feb 18 has the most emotionally charged commits in the repo: "major work here - you have no idea how long i have waited for this level of clarity", "WE MOVING - AHHHHHHHH", "CONNECTED WORDSTORE AND EDITORSTORE — HUGE". Feb 19–20 was the Pinecone/cache/search integration, workflow automation setup, and a massive cleanup pass removing entire features from MVP (Projects, Journaling Suggestions, Document Store).

Feb 18–20 — The breakthrough days

Feb 18 has the most emotionally charged commits in the repo: "major work here - you have no idea how long i have waited for this level of clarity", "WE MOVING - AHHHHHHHH", "CONNECTED WORDSTORE AND EDITORSTORE — HUGE". Feb 19–20 was the Pinecone/cache/search integration, workflow automation setup, and a massive cleanup pass removing entire features from MVP (Projects, Journaling Suggestions, Document Store).

491 files created in Feb 2025

- 33 still exist (6.7%)

- 458 deleted (93.3%)

- Only 2 never touched again after creation (RoundedCorners.swift, ClearBorder.swift) — both still exist


ChatGPT came first.

Claude came later.

Conversation data ends on June 12, 2025.


WHAT HAPPENED NEXT?

June 18-19:

- Natural topic discovery analyzer built

- Holiday usage pattern analyzer

- Conversation threading + topic emergence tracking

- ML dependency installer (for NLP work)

- Phase 1 tokenization analysis - user vs model conversation patterns

- Merge of a Claude-authored GitHub Actions PR

June 18-25

- CSV lookup automation

- PNG image reports analyzer

- Python script auditor

- Data mapping visualization

----

Update workflow health metadata, enhance PartyFull and SignIn components, and refine sprint documentation

- Updated the generated_at timestamp in the workflow health JSON.

- Modified styles and text in PartyFull component for improved messaging and clarity.

- Changed text alignment in SignIn component and updated the sign-in prompt.

- Adjusted EditorialArticle component to reflect ongoing development status.

- Enhanced usePartyFullModal hook for better accessibility.

- Expanded how-sprints-work documentation with new priorities and dependencies.

- Updated sprint page metadata and error messaging for clarity.

- Revised repo metadata reference with new analysis dates and repository statistics.

- Improved budget page description to better reflect functionality.

- Integrated SprintPage into TheunpartyuserPage for enhanced user experience.

- Optimized image loading in UnpppTypePage for better performance.

- Updated UnpppContent component with new action prompts and improved messaging.

- Revised cost estimate JSON with updated development hours and pricing details.

- Updated repo time JSON with new commit statistics and analysis dates.


HOW TO SEARCH unppp

Just flip the select condition to check that the field exists and isn't empty:

List UNPPPs that HAVE polarProductId set:

bash
jq -r '.unppps[] | select(.polarProductId != null and .polarProductId != "") | .id' src/data/UnpppsConfig.json

Same, but show id + name:

bash
jq -r '.unppps[] | select(.polarProductId != null and .polarProductId != "") | "\(.id) - \(.name)"' src/data/UnpppsConfig.json

Count how many have it set:

bash
jq '[.unppps[] | select(.polarProductId != null and .polarProductId != "")] | length' src/data/UnpppsConfig.json

Show id + the actual polarProductId value:

bash
jq -r '.unppps[] | select(.polarProductId != null and .polarProductId != "") | "\(.id): \(.polarProductId)"' src/data/UnpppsConfig.json

The only change is == (equals, for missing) → != (not equals, for present).

Read , lines 1 to 60

Good, structure confirmed: array of objects with id and polarProductId fields. Since jq is the cleanest tool for JSON, I'll check if it's available and give a few options.

Ran terminal command: which jq

jq is installed, so here are copy-paste-ready commands:

List UNPPPs missing polarProductId (null, empty, or field absent):

bash
jq -r '.unppps[] | select(.polarProductId == null or .polarProductId == "") | .id' src/data/UnpppsConfig.json

Same, but show id + name for more context:

bash
jq -r '.unppps[] | select(.polarProductId == null or .polarProductId == "") | "\(.id) - \(.name)"' src/data/UnpppsConfig.json

Get a count of how many are missing it:

bash
jq '[.unppps[] | select(.polarProductId == null or .polarProductId == "")] | length' src/data/UnpppsConfig.json

Compare against total count for context:

bash
jq '.unppps | length' src/data/UnpppsConfig.json

🧗🏾‍♂️ in progress