{ "source": "examples/invoicing-interviews.md", "codebook": "examples/invoicing-codebook.txt", "interview_count": 5, "coded_lines": 20, "people": [ { "interview": "Interview 1: Dana, illustrator", "file": "examples/invoicing-interviews.md", "role": "Freelance illustrator", "segment": "Solo", "date": "2026-10-06" }, { "interview": "Interview 2: Omar, web developer", "file": "examples/invoicing-interviews.md", "role": "Freelance developer", "segment": "Solo", "date": "2026-10-08" }, { "interview": "Interview 3: Priya, small studio owner", "file": "examples/invoicing-interviews.md", "role": "Studio owner, 4 people", "segment": "Studio", "date": "2026-10-13" }, { "interview": "Interview 4: Luis, photographer", "file": "examples/invoicing-interviews.md", "role": "Freelance photographer", "segment": "Solo", "date": "2026-10-15" }, { "interview": "Interview 5: Mei, agency founder", "file": "examples/invoicing-interviews.md", "role": "Agency founder, 12 people", "segment": "Studio", "date": "2026-10-20" } ], "themes": [ { "theme": "Accounting and tax export", "interviews": 4, "share": 80, "mentions": 6, "pains": 3, "wishes": 1, "positives": 0, "interview_ids": [ "Interview 1: Dana, illustrator", "Interview 2: Omar, web developer", "Interview 3: Priya, small studio owner", "Interview 5: Mei, agency founder" ], "interviews_by_segment": { "Solo": 2, "Studio": 2 }, "quotes": [ { "interview": "Interview 5: Mei, agency founder", "line": 63, "text": "We lose a day every month reconciling Tallybook against the books.", "kind": "pain" }, { "interview": "Interview 2: Omar, web developer", "line": 26, "text": "Tax time is a nightmare. I export a CSV and fix the columns manually every April.", "kind": "pain" }, { "interview": "Interview 3: Priya, small studio owner", "line": 38, "text": "I want to be able to invite my bookkeeper with view-only access.", "kind": "wish" } ] }, { "theme": "Double entry into spreadsheets", "interviews": 3, "share": 60, "mentions": 6, "pains": 4, "wishes": 0, "positives": 0, "interview_ids": [ "Interview 1: Dana, illustrator", "Interview 2: Omar, web developer", "Interview 5: Mei, agency founder" ], "interviews_by_segment": { "Solo": 2, "Studio": 1 }, "quotes": [ { "interview": "Interview 5: Mei, agency founder", "line": 63, "text": "We lose a day every month reconciling Tallybook against the books.", "kind": "pain" }, { "interview": "Interview 1: Dana, illustrator", "line": 13, "text": "Chasing late payments is awful. I write the reminder emails by hand and I forget who I already nudged.", "kind": "pain" }, { "interview": "Interview 2: Omar, web developer", "line": 26, "text": "Tax time is a nightmare. I export a CSV and fix the columns manually every April.", "kind": "pain" } ] }, { "theme": "Late payments and reminders", "interviews": 3, "share": 60, "mentions": 5, "pains": 2, "wishes": 2, "positives": 0, "interview_ids": [ "Interview 1: Dana, illustrator", "Interview 2: Omar, web developer", "Interview 4: Luis, photographer" ], "interviews_by_segment": { "Solo": 3 }, "quotes": [ { "interview": "Interview 1: Dana, illustrator", "line": 16, "text": "I wish it just told me who owes me money and how late they are, on one screen.", "kind": "wish" }, { "interview": "Interview 2: Omar, web developer", "line": 28, "text": "If it sent polite reminders automatically, I'd pay double for it.", "kind": "wish" }, { "interview": "Interview 4: Luis, photographer", "line": 50, "text": "Clients pay late all the time and the reminders are manual, so I just don't send them.", "kind": "neutral" } ] }, { "theme": "Mobile app", "interviews": 2, "share": 40, "mentions": 2, "pains": 2, "wishes": 0, "positives": 0, "interview_ids": [ "Interview 3: Priya, small studio owner", "Interview 4: Luis, photographer" ], "interviews_by_segment": { "Studio": 1, "Solo": 1 }, "quotes": [ { "interview": "Interview 4: Luis, photographer", "line": 49, "text": "I send the invoice from my phone in the car. The mobile app is slow to load the client list.", "kind": "pain" }, { "interview": "Interview 3: Priya, small studio owner", "line": 39, "text": "The mobile app is hard to use on site, I can't find the send button.", "kind": "pain" } ] }, { "theme": "Price and value", "interviews": 2, "share": 40, "mentions": 2, "pains": 1, "wishes": 1, "positives": 0, "interview_ids": [ "Interview 2: Omar, web developer", "Interview 4: Luis, photographer" ], "interviews_by_segment": { "Solo": 2 }, "quotes": [ { "interview": "Interview 2: Omar, web developer", "line": 28, "text": "If it sent polite reminders automatically, I'd pay double for it.", "kind": "wish" }, { "interview": "Interview 4: Luis, photographer", "line": 52, "text": "Pricing is fine, it's worth it compared to the hours I'd waste.", "kind": "pain" } ] }, { "theme": "Team access and permissions", "interviews": 2, "share": 40, "mentions": 3, "pains": 0, "wishes": 1, "positives": 1, "interview_ids": [ "Interview 3: Priya, small studio owner", "Interview 5: Mei, agency founder" ], "interviews_by_segment": { "Studio": 2 }, "quotes": [ { "interview": "Interview 3: Priya, small studio owner", "line": 38, "text": "I want to be able to invite my bookkeeper with view-only access.", "kind": "wish" }, { "interview": "Interview 5: Mei, agency founder", "line": 62, "text": "Permissions: my team should create drafts but only I approve and send.", "kind": "neutral" }, { "interview": "Interview 3: Priya, small studio owner", "line": 37, "text": "Me and my project lead. We share one login, which is not great for security.", "kind": "positive" } ] }, { "theme": "Invoice look and card payments", "interviews": 2, "share": 40, "mentions": 2, "pains": 0, "wishes": 0, "positives": 2, "interview_ids": [ "Interview 1: Dana, illustrator", "Interview 4: Luis, photographer" ], "interviews_by_segment": { "Solo": 2 }, "quotes": [ { "interview": "Interview 4: Luis, photographer", "line": 51, "text": "I love that clients can pay by card from the email.", "kind": "positive" }, { "interview": "Interview 1: Dana, illustrator", "line": 15, "text": "The invoice templates look great, clients compliment them.", "kind": "positive" } ] }, { "theme": "Reports by client and month", "interviews": 2, "share": 40, "mentions": 2, "pains": 0, "wishes": 0, "positives": 0, "interview_ids": [ "Interview 2: Omar, web developer", "Interview 3: Priya, small studio owner" ], "interviews_by_segment": { "Solo": 1, "Studio": 1 }, "quotes": [ { "interview": "Interview 2: Omar, web developer", "line": 25, "text": "Honestly a spreadsheet. Tallybook has the data but there is no report I trust for the year.", "kind": "neutral" }, { "interview": "Interview 3: Priya, small studio owner", "line": 40, "text": "Reports are thin. I need numbers by client and by month to plan hiring.", "kind": "neutral" } ] } ], "uncoded_pains_and_wishes": [] }