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

Day 1 operating FreightAI.

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 FreightAI on my laptop with coffee in hand. The Slack alert from overnight is already sitting there: three new signups pinged in at 11 PM, 2 AM, and 6:15 AM. That's good. Month two and the volume is steady. I click into the admin dashboard and see the summary: 47 new accounts this week, 12 of them already paid their first month. Revenue shows $2,140 so far this week. I'm tracking toward the mid-month pace I've been hitting.

The first thing I do every Tuesday morning is check the agent approval queue. FreightAI's backend runs a lot of automation for me - matching carriers to loads, drafting customer communication, flagging suspicious billing patterns. But it doesn't send anything or commit anything without a human review. There are seven items waiting.

I start with the first one: an automated email draft to Marcus Chen at Midwest Logistics. Marcus signed up five days ago but hasn't loaded his first shipment. The system noticed the pattern and drafted a re-engagement email. I read it in Gmail:

"Hi Marcus, we've been seeing a lot of owner-operators in the Midwest getting their first quotes live within 48 hours of signup. Are you stuck on anything with carrier qualification, or do you want me to walk you through onboarding over the phone?"

It's good. Friendly, specific, not pushy. I approve it and watch it send from the Gmail integration. These little nudges matter. A cold signup who takes 30 minutes to set up is less likely to churn than someone who waits two weeks wondering if they're doing it right.

10:15 AM - A flagged conflict

I get three items into the approval queue when a Slack alert fires: a conflict flag. One of the AI's core jobs is matching carrier availability to load requests, and sometimes the data gets messy. In this case, Derek Harmon submitted a load for 8,400 pounds of machinery headed to Toledo. The system flagged Derek's account because he's submitted three loads this month, but his billing payment method keeps failing. Stripe is rejecting the card.

I pull up Derek's Stripe dashboard and see the issue: his card expired last month. He probably doesn't realize he's been auto-declined. I don't want to just block his load and lose him. I fire off a quick email asking him to update his payment method, and I manually approve the load to go live while he sorts it out. This is the work. The AI finds the problem, but I have to decide: do we protect the company or help the customer? Usually, it's both. A small gesture now keeps Derek as a customer long enough to fix it.

Ten minutes later my Slack pings again. Derek replied to the payment email and updated his card. The load gets picked up by a carrier within four minutes of going live. That's the system working as designed. It feels good.

12:30 PM - Lunch and the metrics check

I take a break and grab lunch at my desk. While I eat, I review the metrics dashboard I've built a habit of checking Tuesday around noon. It's my weekly checkpoint: how is this actually working.

Week to date (Tuesday-Tuesday):

  • 47 new signups
  • 12 paid conversions (25% conversion rate, which is better than I expected)
  • 286 loads matched with carriers
  • 73 carriers qualified and onboarded
  • $2,140 in MRR so far

Churn alert: Reyes Family Practice cancelled yesterday. Carol Reyes was one of my first customers back in month one. She gave me a five-minute feedback call before cancelling: the product was working but she decided to go back to her old broker relationships because of relationships and trust, not because of anything we did wrong. It stung a little. Month-two and I'm learning that some customers just need that human touch that I can't fully replicate. She paid for three months before leaving, though, so $600 in total revenue from Carol. I'm going to file that away as a lesson.

Also positive: James Wang at Wang Logistics sent me a thank-you message that came through the in-app feedback form. He's been using FreightAI for six weeks now and said it cut his load matching time in half. One message like that is worth a lot more to me than the analytics. I screenshot it and save it to a folder. Morale fuel for later.

2:08 PM - Customer escalation

At 1:47 PM, a Slack alert comes through that catches my attention. One of my top accounts, Teresa Vasquez at Vasquez Freight Solutions, has triggered a manual escalation. She uploaded a batch of 22 loads but six of them failed qualification. The AI's usual response is to email the customer with a reason (missing carrier insurance docs, incomplete lane data, etc.). But I've flagged my system to escalate anything involving Teresa because she's doing about $400 MRR and I don't want her to churn.

I read the escalation note. Three of the six failed loads have missing insurance documentation from carriers, which is a real blocker. Two have incomplete routing data. One has a billing mismatch. I spend 20 minutes on the phone with Teresa. She's frustrated but not angry. I walk her through fixing the documentation issues over the phone, and I manually approve two of the loads that had minor data gaps because I can see they're valid. By the time we hang up, all 22 loads are live, and Teresa thanks me.

This kind of work doesn't scale. But in month two, scaling doesn't matter as much as keeping the people I have.

4:30 PM - Pipeline review and a bug fix

I spend an hour looking at my pipeline. I have 14 accounts scheduled for onboarding calls over the next two weeks. Of those, I'd estimate 9 or 10 will become paying customers based on my close rate. That's about $1,800-2,000 in new MRR incoming. Assuming typical churn stays at 4-5 percent per month, I'll be at around $11,000-12,000 MRR by the end of June. Still on track for the $96K mid-year ARR target.

But there's one small issue I've noticed: when a carrier's phone number gets updated, the system isn't always pulling the new number into the load notification emails. It's a data mapping bug. It's not breaking anything critical, but it's creating friction. I have a Linear ticket logged for it. I decide to fix it myself rather than wait for a developer.

I dive into the codebase (this is what I built before I started selling the product) and find the issue. It's a simple field-mapping logic error. The system is pulling from the carrier's cached record instead of the live record. I fix it in maybe 15 minutes, test it against three test loads, and push it out. It's a small fix but it matters. Users notice when their emails have outdated carrier info.

5:45 PM - The other side of the approval queue

I finish the approval queue before I shut down for the day. There are two more items waiting: a pricing rule change the system wants to implement (I reject it because it underprices a category of loads), and a notification to a customer whose payment failed twice now. The second one I approve, because the customer needs to know and we need the revenue to be clean.

By 5:52 PM, my queue is empty. The day feels manageable. Not effortless, but like I know what I'm doing and where the levers are.

6:15 PM - Wrap

I close the laptop around 6:15. I've been at this for a bit over nine hours, with a break for lunch. Not all of it was heads-down work. Some of it was waiting for email responses, some was thinking, some was talking to customers on the phone.

What worked today: the flagged escalation process with Teresa kept a good customer from getting frustrated. Derek's payment issue could have been a churn moment but it wasn't. The AI's email drafts are good enough that I can approve most of them without rewriting. The dashboard told me what to worry about before I had to guess.

What was hard: losing Carol Reyes stung more than I expected. And I can feel the ceiling coming on the manual work. Ten more customers like Derek and I won't be able to handle all the phone calls myself.

What I'd change: I need to automate the payment failure sequence better. And I need to build a self-serve knowledge base so customers like Marcus don't have to wait for a re-engagement email. The next hire isn't me doing everything faster. It's either a customer success person or an improvement to the product so the AI can handle more without me in the middle.

But tonight I'm not worrying about that. I have 47 new signups this week and James Wang sent me a thank-you note. That's enough.

This could be your Tuesday.

FreightAI 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 →