Wishdeal Factory · Storefront
A typical day · Owner-operator's seat
← Back to Solo Analytics

Day 1 operating Solo Analytics.

First-person, second-month operator. What you'd actually be doing on a Tuesday. Real customers, real numbers, real friction. Synthesized from the agent spec and the GTM model.

8:42 AM - Inbox triage

I open my laptop at 8:42 AM. Two cappuccinos down already. The house is quiet except for the coffee maker cooling off on the counter. I check Slack first because that's where my agent sends the overnight digest.

The Monday-night rollup landed at 2 AM. I skim it while the browser loads the Solo Analytics dashboard. The digest is usually tight: three to five flagged signals ranked by revenue impact. This morning, there are four.

Signal one: trial signups up 34% week-over-week. The agent traced it to a mention on Indie Hackers last Thursday in a comment thread about no-code tools. Someone named Marcus asked "how do you track what's actually working when you're bootstrapped," and three different people replied with links to Solo Analytics. No paid ads, no campaign, just product-market alignment. The agent calculated the LTV impact at roughly $2,100 if conversion holds. I file this as a win. I don't need to do anything.

Signal two is the one that makes me pause. Churn rate spiked to 7.2% last week. The agent flagged this against a rolling 90-day baseline of 4.1%. It's drilling into Stripe data right now, but it won't have the full story until I pull the customer records. I need to investigate. I make a note: "Check churn cohort - who left and why."

Signal three: Google Analytics 4 goal completion rate dropped 8% day-over-day. But the agent caught something I might have missed on my own: it's isolated to traffic from a specific YouTube short posted by a creator I've never heard of. The engagement is high, but the conversion funnels immediately. The agent flagged the thumbnail and content: it's about "free AI tools," not about my product specifically. Conclusion: quality signal, not qualified traffic. I should probably skip that creator next time they cross-post. No action needed, but good to know.

Signal four is buried in the details: Lemon Squeezy reported a refund that Stripe didn't. Two different data sources, one customer, one transaction. The agent can't reconcile it without manual intervention. I add this to my to-do.

9:30 AM - Draft email review

I pull up the Slack thread where my agent staged a customer email. Carol Reyes runs a family medicine practice in Albuquerque. She signed up two weeks ago, got the Monday digest last week, and immediately adjusted her social media strategy based on what the agent flagged about her trial-to-paid conversion window. She converted to paid yesterday.

The agent has drafted a follow-up email welcoming her to the paid tier, thanking her for the "specific action" she took last week, and offering a 30-minute office hours call to help her set up a second data source - her Shopify store - which the agent noticed from her GA4 referral patterns. The email is three paragraphs. It's warm, specific, and not selling. It feels right.

I make one edit: the agent said "office hours," but I actually do these calls on my calendar, not on any scheduled cadence. I change it to "a quick call this Friday" and add the link to my Calendly. I send it. Carol will probably take the call. She seems like someone who reads her analytics.

10:45 AM - A flagged conflict

The refund discrepancy is worse than I thought. I log into the Solo Analytics admin UI and click into the reconciliation view. One refund for $25 shows up in Stripe's API export but not in the Lemon Squeezy sync. Lemon Squeezy is the billing platform I use because it handles SaaS licensing and works with B2B customers. Stripe is my fallback for international payments.

The customer is James Ho in Singapore. His account shows active in my system. I pull his email and his Slack DM history. He never complained about the charge. The refund must have been issued by Lemon Squeezy support - maybe he reached out to them directly. I need to verify.

I open Gmail and search for his email address. Nothing in my inbox. So he either didn't tell me or Lemon Squeezy refunded him without routing through me. I go into the Lemon Squeezy dashboard directly - it's clunky, but this is what I do when the agent can't resolve things - and I see his customer record. The refund was issued three days ago. Reason: "Trial period not required." He'd asked about running a trial without offering one to customers, and Lemon Squeezy apparently interpreted that as a support request and refunded him.

It's not his fault. It's not my fault. But it creates bad data in my analytics. I mark the transaction as a refund reason of "support error" in my admin UI so the agent learns not to flag this as a churn signal. I send James an email explaining that I saw the refund, that there was no issue with my product, and that his account is still active if he wants to come back. If he doesn't respond by Friday, I'll close the reconciliation loop manually.

This is the kind of thing the agent can't solve alone. I'm the operator. I catch the edge cases.

12:35 PM - Lunch and the metrics check

I make a sandwich and open the main analytics view. Solo Analytics isn't just for tracking my customers; it also tracks me. My own dashboard is embedded in my admin panel, and the agent digests my own data just like it does for paying customers.

This week's own numbers:

  • Signups: 14 (up 6 from last week, mostly from the Indie Hackers thread)
  • New MRR: $285 (five new customers at $25, three at $35 for the tier with Shopify integration, one paying $75 for white-label access)
  • Recurring revenue: $4,240 MRR. I'm three-and-a-half months in, and the trajectory is steep.
  • Churn: two customers this week (7.2%), but one was the Lemon Squeezy refund, one was a customer who told me directly that he was shutting down his side project. Both are explained.
  • Week-to-date pipeline: three warm conversations in email, five people in the Slack community asking integration questions (warmth indicator for future conversions).

The 4.2K MRR is still far from life-changing, but it's enough. I don't need to take freelance work this month. That's the milestone I hit last week. Today, I'm just watching it. The trajectory matters more than the absolute number.

2:15 PM - A customer escalation

Priya Nath emails directly. She's been a customer for six weeks. She paid for the Shopify integration tier.

"Hi, my last digest said my refund rate is at 2.3%, which feels high. But I don't know how you calculated it. Is it all refunds in my Shopify? Is it refunds minus chargebacks? I have three PayPal disputes that haven't resolved yet. Am I seeing those in this number?"

This is the kind of question that requires me, not the agent. The agent's digest is transparent about its data sources - it always cites "Shopify refund events in the past 7 days" - but Priya is asking about data that doesn't flow through Shopify: PayPal disputes. The agent won't know about PayPal until Priya connects it.

I reply directly in Gmail: "The 2.3% is calculated from completed refunds in Shopify only. PayPal disputes aren't visible to me yet because your PayPal account isn't connected. If you'd like me to track those, you can authorize PayPal in your integrations settings - or we can do it together on a call. The refund rate will look different once disputes are included, but you'll have a clearer picture."

I offer the Friday call again, same Calendly link. She'll probably take it. This is where the product becomes a conversation. The agent can calculate, but I have to translate.

4:45 PM - Pipeline and a thank-you

I check Linear, where I track feature requests and known issues. Seven open items. None are blocking. The most-voted item is "Asana integration," requested by three customers. I note it for next week.

Before I close Linear, I check my email one more time. There's a short note from Miguel Santos, who I onboarded last month. Subject line: "This actually changes how I run the business."

He says the agent's identification of his top traffic source (a podcast appearance that led to a guest post) helped him decide to pursue more speaking gigs. He landed a sponsorship slot on another podcast this week based on that insight, and it's already driving trial signups. He's not asking for anything. He just wanted me to know it mattered.

I sit with this for a moment. This is why I built this. Not for the MRR - though the MRR is good - but because the signal-to-noise ratio for solopreneurs is so high. They need to know what's actually working. Miguel's email confirms that the product does that. I reply and thank him and ask if he'd be open to a case study call. He says yes.

5:30 PM - The last escalation

One more Slack alert comes through. Alex Park's account hit an error during last night's sync. The agent can't pull Stripe data for her account - probably a connectivity issue or an API permission drift. I go into the integrations panel and check her Stripe connection. The auth token is still valid. I run a manual sync. It fails with a rate-limit error.

I check the Solo Analytics logs. Her account has 840 transactions in her last 30 days. My agent is trying to fetch them in a single request, which is hitting Stripe's rate limits. This is a bug I should have caught at the tier she's paying for. I need to batch the requests.

I don't fix the code tonight - that's for tomorrow morning with fresh eyes - but I send Alex a manual report: her revenue for this week, her top sources, her conversion funnel. It's not perfect, but it's honest. I also refund 20% of her monthly fee for the missed digest and promise the system will be fixed within 24 hours.

That's the work. That's the thing that you can't automate away: the person who cares enough to notice when things break.

6:15 PM - Wrap

I close the laptop around 6:15. The sun is still up. I think about the day: four hours of active work. Mostly review and judgment calls. One customer email written by the agent and approved by me. One conflict resolved. One bug found. One escalation handled manually. One customer thank-you that reminded me why I'm doing this.

The agent does the heavy lifting - it pulls data from four platforms, runs the comparisons, identifies the signals, drafts the outputs. But I'm the filter. I'm the person who decides what matters, who calls when the numbers don't add up, who translates the insights into next steps. The business runs because I'm here, not because the agent is. The agent just makes it possible for me to be here without drowning.

Second month revenue will be 4.2K MRR if the churn calms down. That's $50K annualized. It's not enough to scale yet, but it's enough to be real. And that Tuesday afternoon, when Miguel told me the digest changed how he runs his business - that felt real too.

This could be your Tuesday.

Solo Analytics is available to own for $200 flat. Or pay $75/hr for a Roll Digital chief operator to build it for you, AI-amplified.

See pricing →