We thought we were paying the AI to make a spreadsheet. Turns out we were paying it to have a meeting with itself.

The expensive part wasn’t building the spreadsheet. It was the AI thinking out loud.

We spent a couple of days last week digging into how Shoulder Surf generates spreadsheets from meetings, and we found something we really weren’t expecting. Previously, when someone asked for something like a risk register or action tracker, we let the AI handle the entire job. It would figure out the content, write some Python, build the Excel file, inspect the result, make changes, and eventually give us the finished spreadsheet. It worked, so we never thought too hard about it.

Then we tested a different approach. Instead of asking the AI to actually build the spreadsheet, we asked it to give us the structured content that belonged in the spreadsheet, and then our own code generated the Excel file. Same meeting. Same request. Same AI model. The new approach was 3.6x cheaper and 2.8x faster, and somehow produced more useful content too.

That sent us down a rabbit hole. The old process consumed about 212,886 tokens of conversation context. The new one used 4,433. The expensive part wasn’t Excel. The expensive part was the AI repeatedly rereading the meeting while it worked. It would write some code, run it, inspect what happened, reread the conversation to remember what it was doing, make another change, and repeat. Every lap costs money. The actual code execution is almost free by comparison.

AI should author. Code should compute.

If we’re building a risk register from a meeting, the hard part is understanding what people said and turning that into useful rows. That’s exactly what the AI is good at. But once we know the rows, we don’t need an AI to decide how to put them into cells, apply formatting, freeze panes, or write formulas. Regular code is dramatically better at that.

There are still cases where the sandbox makes sense. If somebody uploads a large CSV and wants calculations, pivots, or hundreds of generated combinations, letting code run in a sandbox is exactly what we want. So we kept both approaches. The interesting part was figuring out where the line belongs.

Then we accidentally made the output worse.

Our first version of the new system generated 24 scenarios where the old system generated 47. That obviously wasn’t great, but the reason turned out to be surprisingly simple. The old system naturally gets multiple chances to think about the problem because it keeps looping through the file-generation process. The new system gets one clean pass, so once it thinks it’s finished, it stops.

We added a short instruction telling it to explicitly consider edge cases. 24 became 46. There was no clever engineering breakthrough there. We basically asked it to think a little harder.

We also stopped trusting the AI with formatting.

We have rules for how Shoulder Surf spreadsheets should look, and we gave those rules to the AI. It ignored some of them. Across two test runs, we found five separate formatting violations. It also failed to freeze panes on all 13 tabs where we asked it to.

So now we don’t ask. Our renderer applies those rules automatically. That turned out to be a useful distinction: a rule in a prompt is a suggestion. A rule in code is a rule.

Same thing with formulas. We don’t let the model write Excel formulas anymore. The AI can tell us, conceptually, “this column should total those rows,” and our code writes the actual formula and cell references. An AI-generated formula can be wrong while looking perfectly reasonable, and I’d much rather have something fail loudly than quietly put the wrong number in a spreadsheet somebody sends to their boss.

The biggest problem had nothing to do with spreadsheets.

Before any of this happens, Shoulder Surf first has to recognize that someone is actually asking for a document. We tested our old detection logic against 216 real requests. It recognized 5.

That was painful. The feature wasn’t failing. People weren’t even getting into the feature.

We had been looking for obvious words like “spreadsheet,” “export,” or “xlsx,” but that’s not how people actually ask for things. They say things like, “Give me everything that could blow up in our faces,” which is a risk register, or “Show me who’s on the hook for everything,” which is basically an action register.

You can’t solve that very well by adding more keywords, so we replaced the keyword rules with a tiny intent classifier. Our detection rate went from about 21% to 98% on our test set, and it costs roughly five hundredths of a cent per request. That may have been the highest-value change in the entire project.

One of our favorite results was when the system refused to make a document.

We tested nine different document types against real meetings. Six worked cleanly. Two refused. One request asked for an options comparison, but the meeting hadn’t actually compared any alternatives. Another asked for a budget, but there were no financial figures in the meeting.

So the system essentially said there wasn’t enough information to make the document. That’s exactly what we want. An empty spreadsheet is mildly annoying. A spreadsheet containing invented financial information is dangerous.

The damage from that kind of mistake doesn’t happen inside the app. It happens a week later when somebody presents the spreadsheet in a meeting and everyone assumes the numbers came from somewhere.

We also caught a smaller version of this. In one budget document, four rows were labeled “Stated” even though there were no amounts attached to them. The AI had interpreted “Stated” as “someone mentioned this topic.” We meant “someone actually stated a number.” Reasonable misunderstanding. Completely wrong result. Now, if something is labeled “Stated” but contains no actual value, we automatically downgrade it.

And then our tests taught us something embarrassing.

Our first 25 routing tests all passed. Usually that feels great. In retrospect, it should have made us suspicious.

The same people who wrote the routing logic wrote the tests shortly afterward, so naturally the tests covered all the situations we had already thought about. We started deliberately looking for situations we hadn’t thought about and found four real bugs.

One of them would have quietly generated a generic table instead of the specialized document somebody asked for. That’s the worst kind of product bug because nothing crashes, nobody reports it, and the product is just slightly worse every time it happens.

That whole exercise changed how we’re thinking about AI features. A lot of the expensive or unreliable parts aren’t actually the impressive AI parts. They’re the boring machinery surrounding them.

Sometimes the best thing you can do is let the AI do less.

And sometimes the biggest bug isn’t that the AI gave the wrong answer. It’s that your system never let the question reach the AI in the first place.

reddit.com
u/gixxerscott — 4 days ago

Not All Heroes Wear Capes. Some Wear Spandex.

Tonight as I was leaving the Veloway, I tried a new way of loading my bike wheel into the truck where you lean it against the outside and drive away. There are some flaws in the system.

I drove off into the darkness, completely unaware that I had left my wheel behind. When I came back looking for it, someone had been kind enough to move it somewhere safe instead of letting it become road debris, modern art, or somebody else’s bicycle wheel.

I have no idea who you are, but thank you. That was a genuinely decent thing to do, and I hope the universe pays you back with excellent parking spots, green lights, and tires that somehow never go flat.

reddit.com
u/gixxerscott — 8 days ago
▲ 3 r/ShoulderSurfers+1 crossposts

Granola alternatives on iPhone: I compared the five AI meeting apps that run on the phone alone

Full disclosure before anything else: I built Shoulder Surf, one of the five apps in this post. I make money if you subscribe to it. Read everything below with that in mind, and please push back in the comments if you use one of the others and I got it wrong.

Who this is for

Most people land on a Granola comparison because they want AI help in meetings without installing anything on their work laptop, either because IT would not allow it or because they do not want a bot with their name on it joining the call. If that is you, and you have an iPhone, the useful question is not "what replaces Granola" but "which of these actually works with the phone alone, and does it help me during the meeting or only after."

Five apps clear that bar as of today, and Granola is one of them. Its iOS app is real and it shipped an Apple Watch app three days ago, which most of the comparison posts you will find have not caught up to yet.

If what you want is polished shared notes flowing into Notion and HubSpot for a team, you can stop reading here: that is Granola, and none of the other four are close.

Method and date

On July 31, 2026 I went through all five vendors' pricing pages, product docs, and App Store listings, pulled every plan and platform claim, and built the matrix below from what each company says about itself rather than from other people's comparison posts. That last part turned out to matter: two of these five changed platform or pricing in the last few weeks and most of the articles you will find are describing products that no longer exist in that form.

What this is not: I have not run all five in the same meeting. So I can tell you what each one documents, what it costs today, and where the claims conflict with each other. I cannot tell you which one feels better in the room. Where I give an opinion below, I say that it is one.

The short answer

All five run on an iPhone, all five do cross-meeting recall, and not one of them puts a bot in your call. The real split is when help arrives and who holds your data. Granola is a notes tool: best artifact in the category, built for teams, help arrives after. After Call is also after-the-fact, but it is the cheapest of the paid options and it does speaker identification with voice profiles that stay on your device. Hedy surfaces real-time suggestions during the conversation and runs on basically every platform including Android and Windows. Cluely does real-time on both Mac and iPhone and sells a $149.99/mo tier whose entire pitch is hiding the overlay from screen share software. Shoulder Surf, mine, does real-time on the phone only, on tap instead of pushed, and is the only one of the five that lets you plug in your own API key or run a model fully on-device. Pick on when you want help, not on feature counts.

Comparison

Flipped this so each app is a row, otherwise it does not fit on a phone.

App Phone alone Help during meeting Own API key On-device AI Price
Shoulder Surf Yes, iPhone only Yes, on tap Yes, 10 providers Yes, Apple, iPhone 15 Pro+ Free, $9.99, $14.99
Hedy AI Yes Yes, surfaced automatically Not documented No Free, $12.99/mo, $299 lifetime
Cluely Yes Yes Not documented No Free, $19.99/mo, mobile $7.99/wk
Granola Yes Notes come after Not documented No Free, $14/user/mo
After Call Yes Notes come after Not documented Voice profiles only Free, $9.99/mo, $99.99/yr

Where else each one runs, since this is the row that decides it for a lot of people: Hedy is on macOS, Windows, Android, Apple Watch and the web. Granola is on Mac, Windows and Apple Watch. After Call is on Mac and Apple Vision Pro. Cluely is on macOS. Shoulder Surf is iPhone, iPad and Apple Watch, and nothing else, ever.

All five also do cross-meeting recall, which is why it is not a column. More on that below.

Granola

Built to produce the best meeting notes artifact in the category, and it does. You type rough notes during the call and its AI cleans them into something you would actually send. Free plan includes AI chat within and across meetings, which is more than most free tiers give you. Business at $14 per user adds unlimited history, the stronger models, and integrations with Attio, Notion, Slack, HubSpot, Affinity, Zapier, plus MCP and API access.

It shipped an Apple Watch app on July 28, three days ago, and its iOS app transcribes in real time. So the "Granola is desktop software" line you will see in older comparison posts is out of date.

Where it becomes limiting: the value lands after the conversation. If your problem is that you blank mid-sentence, notes waiting for you afterward do not solve it.

Beats Shoulder Surf at: the notes artifact, team sharing, CRM and tool integrations, being on Windows, and having a real track record with a lot of users.

Hedy AI

The closest thing to what I built, and in some ways the more sensible product. Phone-first, no bot, real-time insights during the conversation, 30+ languages. Pro is $12.99/mo, which is a dollar less than my Pro tier, and there is a $99.99/yr option and a $299 lifetime purchase that nobody else in this list offers. It runs on iPhone, iPad, macOS, Windows, Android, Apple Watch, and the web, which is a much wider net than mine.

The free tier is generous in an unusual way: 5 hours a month with real-time insights included, though live insights are capped at the first 30 minutes of each session.

Where it becomes limiting, and this is a taste thing rather than a flaw: Hedy's own material describes real-time insights surfacing as the conversation goes, rather than waiting for you to ask. Some people want exactly that. I wanted the opposite badly enough to go build it, which is the honest reason my app works the way it does. That is a difference in design philosophy, not a scorecard, and I have not sat in a meeting with Hedy running to tell you how it lands. If you have, I would genuinely like to know.

Beats Shoulder Surf at: price, platform coverage, Android and Windows support, the lifetime option, and a free tier that includes live help.

Cluely

Worth updating your mental model here. Cluely was a desktop overlay, and most comparison posts still describe it that way. As of this month there is a full iPhone app, "Cluely: AI Notetaker," that records, transcribes, and gives real-time assistance in person or on a call, w9 a week or $139.99 a year as in-app purchase. The desktop side is $19.99/mo Pro.

There is also a $149.99/mo "Pro + Undetectability" tier whose stated feature is being completely hidden from meeting screen share software. I am not going to pretend that is a neutral product decision, and it is the reason a lot of people have opinions about this company. But the mobile notetaker on its own is a real product and the weekly price makes it the cheapest way to tryreal-time help for a single week of interviews.

Where it becomes limiting: no BYOK, no on-device option, and the brand carries baggage into rooms where you might not want it.

Beats Shoulder Surf at: having both a desktop and a phone app that work together, and the lowest short-term commitment of the five.

After Call

The one I nearly missed, and the one closest to what I built on paper. Full name on the App Store is After Call (AI Meeting Notes), by Craig Lett. Careful searching for it: there is a completely different app called AfterCall, one word, which is a call-log and wellness journal for EMS crews. Not the same product, not the same company.

It records, transcribes, and analyzes, then gives you notes with speaker labels and action items carrying owners and due dates. Speaker identification is the interesting part: a 90-second voice setup, and its voice profiles are stored on device and never uploaded. You pick an "AI Lens" of Sales, Operations, Technical, or Simple to shape the note format, and the Pro tier does sales intelligence, detecting objections, buying signals, and competitor mentions across your conversations. It also does cross-history Q&A: their own wording is that AI Insights lets you ask realquestions about your conversation history in plain language.

$9.99/mo or $99.99/yr, which undercuts my Pro tier. Runs on iPhone, iPad, Mac, and Apple Vision Pro. The free plan gives you transcription and AI notes, and you can try it as a guest without making an account, which is a nicer on-ramp than most of this list.

Where it becomes limiting: help arrives after the call, not during. Their own site says "after your call, open After Call and capture notes quickly," which is a clear and honest statement ofwhat it is. Transcription goes through OpenAI's API, so the audio does leave your device even though the voice profiles do not, and there is no bring-your-own-key option documented.

Beats Shoulder Surf at: price, Mac and Vision Pro support, guest mode, and sales-specific analysis, which I do not do at all.

Shoulder Surf (mine)

Real-time on the phone, on tap. You put the phone on the desk, keep one AirPod in, and when you need something you tap and the answer comes back on screen or reads into your ear. It also uses the rear camera so the AI can see a whiteboard or slide alongside what it hears.

The part I actually think is differentiated: you choose the AI. Apple's on-device model, free forever, nothing leaves the phone, if you have an iPhone 15 Pro or newer. Or your own API key across 10 providers and 48 models, stored in the iOS Keychain, requests going straight from your phone to the provider. Or my managed cloud AI on a subscription. None of the other four document a bring-your-own-key path.

Where mine is worse

  • It requires iOS 26 or later. Not iOS 25, not an older iPhone. If you have not updated or your phone cannot, you cannot run it. No Android, no Windows, no web, ever.
  • It has one App Store rating. One. I am a single developer and this is a new app with no track record. Granola has a large user base and a support org. If that matters to you, and it reasonably might, that is a real reason to pick something else.
  • Meeting memory and document generation are locked to Pro at $14.99. That is more than Hedy's $12.99 and more than After Call's $9.99, both of which are broadly comparable tiers.
  • Everything else on this list except Cluely runs somewhere besides a phone. Hedy is on Android and Windows, Granola is on Windows, After Call is on Mac and Vision Pro. If you want your meetinghistory on a laptop, I am the wrong choice and always will be.
  • The free on-device AI needs an iPhone 15 Pro or newer. On older supported phones the free path is the roughly 5 hours a month of cloud AI, or your own API key.
  • Because the phone captures the room, audio quality depends on where you set it down. That is inherent to the no-install approach, not something a future update fixes.

Something worth noticing

Cross-meeting memory was the headline differentiator in this category a year ago. All five now have it, and three of them give it away on the free plan. If a comparison post is selling you on "it remembers past meetings," that post is out of date. The live differences now are when help arrives, which platforms you get, and whether you can control the model and the data.

The second thing that surprised me: nobody bothers with a bot anymore. All five of these record from the device instead of joining your call as a participant. A year ago that was the whole pitch for half this category.

Which one to pick

  • You want great shared notes and your team lives in Notion, Slack, or HubSpot: Granola.
  • You are on Android or Windows, or you want a lifetime purchase: Hedy.
  • You want the cheapest paid plan, you sell for a living, or you want it on a Mac or a Vision Pro: After Call at $9.99.
  • You want one week of real-time help for interviews and nothing ongoing: Cluely mobile at $7.99 a week.
  • You want help during the meeting on tap rather than pushed, and you want to run your own API key or keep everything on the device: mine. iPhone only, iOS 26 or later.
  • You want a searchable archive for a whole sales team with CRM sync: none of these five. Look at Fireflies, Otter, Fathom, or Krisp. Those are transcript-first tools built for a different job, and Fireflies puts a bot in the call to do it.

Corrections

I will edit this post with a dated note if any of it turns out to be wrong. I have got the prices from each vendor's own page today, but I have not used all five in the same meeting, and if youhave, your experience beats my documentation review. Tell me what I got wrong and I will fix it in the body rather than burying it in a reply.

Longer version of this comparison, including the transcript-first tools: https://shouldersurf.com/compare

Question for anyone who has used more than one of these: did automatic suggestions during a live conversation help you or pull you out of it? That is the one design question I could notanswer from documentation and it is genuinely the fork in the road between these products.

First comment, post it right after:

Sources, so you can check every number rather than taking my word for it. All pulled July 31, 2026: granola.ai/pricing, cluely.com/pricing, hedy.ai/pricing, myaftercall.app, otter.ai/pricing, fireflies.ai/pricing, fathom.ai/pricing, krisp.ai/pricing, plus the App Store listings for Cluely: AI Notetaker (id6755442775, v1.2.7, released July 17), After Call (id6758057896, v3.5) andShoulder Surf (id6760098225). Granola's Apple Watch launch date is from their own announcement and TechCrunch's coverage on July 28.

If any cell in that table is wrong, it is wrong because the vendor's own page is wrong or because they changed it after I looked, and I would like to know either way.

Three things the documentation could not answer:

  1. How the five compare in the same meeting. I have not run that test, so every behavior statement above is either quoted from vendor material or flagged as my opinion.
  2. Whether Granola's cross-meeting chat works during a live call or only after. Their pricing page lists "AI chat within and across meetings" on the free plan but does not say when it isavailable. If a Granola user can settle that, I will update the post.
  3. Whether After Call's free plan has a cap. Their listing says the free plan gives you transcription and AI notes to get started, without naming a limit, so I have not claimed one in either direction.

Things I expect to go stale fastest: Cluely's pricing has moved at least twice this year, and Granola shipped a Watch app three days ago, so this category is still moving.

If you own or work on one of the other four and I have mischaracterized your product, reply here and I will correct the post body, not just this thread.

u/gixxerscott — 19 days ago
▲ 17 r/ShoulderSurfers+4 crossposts

built an iphone meeting assistant because I kept getting into calls where I could not use a bot

Shoulder Surf
been building this solo since april and it finally cleared app review last week. posting since I see other devs sharing theirs.
shoulder surf runs entirely on your iphone. no bot joins the call, nothing installed on your work laptop. phone sits on the desk, listens to the room, transcribes live with speaker labels, and you can tap mid conversation to ask about what was just said. the answer appears on screen, and you tap play to hear it through your airpods when you get a second.
the reason for the phone: half my calls were ones where a bot was a non starter. client would not allow it, IT would not allow it, or it was in person and there was nothing to join. a phone on the table covers all three.
the parts I think are actually different from the usual suspects:
captions mode. online meetings pipe everyone through one speaker, which is exactly why phone based diarization struggles. so instead you can point the rear camera at your screen and it reads the live captions teams, zoom, and meet already display. speaker names and correct spelling come along for free, no mic needed.
it learns voices. label a speaker once and it recognizes them automatically in later meetings. your transcripts stop saying speaker 2 halfway through the first week.
three ways to run the AI. on device with apple intelligence, free forever on iphone 15 pro and up, nothing leaves the phone. your own api key, 10 providers and 36 models, keys stay in the keychain and calls go device to provider, never through my servers. or my managed backend if you just want it to work.
prompts you write. I shipped the four I used myself, assist, suggest response, fact check, action items, but you can build your own modes and choose how much transcript each one sees: last two minutes, last five, the whole meeting, or since your last question.
reports that hand you a file. action items with owners, decisions, open questions, risks, and a sentiment arc across the conversation. action items push into iOS reminders. on pro you can ask in chat for a real xlsx, docx, pptx or pdf built from the meeting, an actual file, not text you reformat yourself.
calendar aware, read only. if you allow it, it reads your calendar to suggest which project a meeting belongs to. it never creates or changes anything on there.
also in there: apple watch app, live rolling summary on the lock screen and dynamic island, photo capture for slides and whiteboards, projects so you can ask questions across a set of meetings, icloud sync, spotlight and siri, and full voiceover and dynamic type support.
rough edges, honestly: room audio is only as good as where you put the phone, and brand new voices in a noisy room can take a meeting or two to settle. captions mode is the workaround when the audio was never going to be good enough.
pricing: free is 5 meetings a month. plus is $9.99 for unlimited plus reports and project chat. pro is $14.99 and adds memory across meetings, document generation, and a stronger model for the analysis. or skip all of it and run on device or with your own key for nothing.
App Store Link
happy to get into how any of it works.

u/gixxerscott — 24 days ago
▲ 5 r/ShoulderSurfers+1 crossposts

Anyone else still catching weird mistakes in AI meeting summaries?

I’ve been using a few AI note taking tools lately, and tbh the thing that still bothers me most is the small inaccuracies.

I’ll read through a meeting summary and think it looks good at first, then notice things like:
- A name being attributed to the wrong person
- Smth we were just discussing being written as an actual decision
- An action item assigned to the wrong person
- Important context completely missing from a conversation

The annoying part is that the summaries usually look very convincing. If you’re skimming quickly, it’s easy to miss that smth is slightly wrong. I’ve been trying a few different tools, incl Otter, and Circleback recently (those are AI recommended), and im starting to think accuracy and context are probably more important than just having a nicely formatted summary.

Curious what everyone else’s experience has been.

reddit.com
u/gixxerscott — 25 days ago

A voice memo with no home is just noise you saved. Put your recordings in a project and let them work together.

A few of you asked for the same thing: sometimes you can't run Shoulder Surf live in a meeting, but you've got a recording sitting on your phone, and it felt wrong that the app just shrugged at it. Special shout-out to u/DeathMaillet, who pitched this with enough energy that it jumped the line. So we built it. And then we spent a couple of days fighting to actually make it work, which is the part I want to tell you about.

The idea is simple: hand Shoulder Surf a recording and it treats it like a meeting it personally attended. It transcribes the whole thing on your phone and figures out who was talking, all on-device, so your audio never leaves your phone for that part. Then, just like a normal meeting, it can pull together a summary, action items, and tags using Shoulder Surf's AI.

Getting there was less simple. The first version transcribed my test recording perfectly and then threw the result in the trash. It turned out a recent iOS update changed how it behaves when you read the very last slice of an audio file: instead of politely saying "that's the end," it throws an error. Our code heard "error" and assumed the whole recording was unreadable. So every import was quietly succeeding and then deleting its own homework. Once we caught it, the fix was basically teaching the app that the end of a file is not a crisis.

Then the share sheet. I wanted you to be able to send a file to Shoulder Surf from anywhere, but no matter what I registered, the app refused to show up in the share menu. Rebooted, waited, tried everything. The only reliable fix was building a proper share extension from scratch. Now it's there.

And a small thing I'm oddly proud of: when you share a recording, it asks which project it belongs to right then, while you're still looking at it. The meeting already happened, nothing about the past changed, but a recording with a name and a home is worth a lot more than a mystery file that confuses you next week. Half the value of any feature is just putting things where your brain can reach them.

Where it stands now: audio import (voice memos, WAV, MP3) is live in the current TestFlight beta, either from inside the app or by sharing a file to it. Video import (Zoom, Meet, Teams recordings) is done and tested, and it ships in the next beta build.

If you've got a recording lying around, throw it at Shoulder Surf and tell me what breaks. That's what the beta is for. And keep the ideas coming, they clearly turn into real things.

u/gixxerscott — 27 days ago
▲ 8 r/projectmanagers+1 crossposts

I’m generating this Gantt from a meeting copilot and as a non-PMP looking for feedback

I work on a small product team where we run lean projects that often don’t have a dedicated project manager. We intentionally keep things lightweight and use Excel to communicate timelines and milestones instead of Microsoft Project or other PM platforms.
I’ve built an internal tool that converts meeting notes into a simple Gantt-style project plan, and it’s been useful for our teams. I’m looking for ideas to improve the quality and usefulness of the Excel output, not suggestions to replace Excel or adopt a different PM system.
Assume the timeline and task data are already accurate. If you were handed an Excel Gantt chart to manage a small-to-medium software project, what information, visual cues, formatting, calculations, or quality-of-life improvements would make it genuinely more useful day to day?
I’m especially interested in simple enhancements that experienced project managers appreciate but that are often overlooked.

u/gixxerscott — 1 month ago

I’m generating this Gantt from a meeting copilot and as a non-PMP looking for feedback

I work at a company and we are FDE based with small teams that often don’t include a project manager. I’ve built a tool that can take the meeting notes and build a simple Gantt chart and I’m looking for suggestions on how to improve the output. It’s been serving our teams well but I’d like to make it better.

reddit.com
u/gixxerscott — 1 month ago
▲ 3 r/ShoulderSurfers+1 crossposts

The hard part of turning a meeting into a Gantt chart was not drawing bars, it was getting the AI to leave cells blank

Every status meeting ends the same way. Someone recaps the timeline, a few people volunteer for tasks, a couple of due dates get tossed around, the call drops, and all of it now lives in your head and a page of messy notes. Turning that into an actual project plan is a second job you do later, usually at night.

I work on Shoulder Surf, a meeting assistant on iPhone, and for a long time we assumed the valuable part was the live help during the call. But the request we kept getting from project managers in our test group was about the after, not the during:

> I just talked through the entire timeline out loud, why am I rebuilding it by hand afterward.

One PM told us she remakes the same Gantt in Excel every Monday from a meeting that already contained every piece of it. That one stuck.

So we built that. You finish a meeting, ask for a spreadsheet in plain language, and you get a real editable Excel file built from what was actually said: owners, due dates, a color coded timeline, a file you keep working in like anything you made yourself.

To be clear about what this is not: it is not trying to replace Jira or Asana or MS Project. If you run programs for a living you already have a tool and a workflow, and this does not compete with it. It is for the much larger group of people who track work in their head, in notes, or in a spreadsheet they rebuild by hand, and who just want a clear, shareable picture of who owns what by when, in a format everyone already recognizes, without standing up and maintaining a whole system to get it.

The interesting engineering was not the chart, it was making it refuse to make things up. It is trivial to produce a gorgeous, confident Gantt full of dates and owners that nobody in the room ever agreed to, and that is worse than a blank page, because it looks authoritative, it is quietly wrong, and people plan against it. The approach has two halves:

  • Extract, do not generate. The model's only job is to pull what was genuinely said into a structured list of tasks, owners, and dates.
  • Draw with plain code. A deterministic renderer builds the chart from that list, so the model is never the thing making the picture and is never tempted to invent one more date to make the grid look finished.

And for the fields a model loves to guess at, like how two tasks depend on each other, we compute those from the dates people actually gave rather than asking the model, because dependency logic is exactly where it will confabulate a tidy answer that was never real. The result is that if the meeting was vague, your chart is vague in the same spots. A blank cell is a feature. It mirrors the conversation instead of quietly upgrading it into a cleaner one that never happened.

The chart attached here is a real export with the names and company swapped out. Two of the tasks have no owner, because nobody in the meeting volunteered for them, so it left them blank rather than inventing someone.

One more lesson: fidelity is not cosmetic. A real plan is mostly small text in small cells, and staying legible and correct down to the fine print was a genuine constraint, not a final polish pass. A Gantt you cannot trust at the cell level is decoration, not a plan.

It does a real job of closing the gap between the meeting and the artifact, and it is still learning. So a question for this group, since you all live in this world: when you walk out of a planning meeting, what is the one document you always end up rebuilding by hand that the conversation already fully contained? Gantt was the obvious first answer we heard. I am genuinely curious what the second and third are.

u/gixxerscott — 1 month ago
▲ 3 r/ShoulderSurfers+2 crossposts

We spent the week teaching our app to actually read your documents. The economics surprised us.

It started with a failure that never showed up in a bug report.

Someone attached a program status deck to a project chat and asked the AI about it. The app did what basically every chat app does by default: it pulled the text out of the file and threw everything else away. The words survived. But the budget chart came through as a few stray axis labels, and the milestone table lost its shape. The answer looked confident and was quietly missing the most important thing in the deck. That kind of silent failure is worse than an error, because you have no reason to distrust the answer.

What we learned about how AI reads files

AI models do not eat files. They eat either text or pages.

A model can genuinely read a PDF the way you do, looking at the rendered pages, charts and scans included. But no model on the market accepts a PowerPoint or Excel file directly. Not ours, not anyone's. Every AI app you have ever dropped an Office file into is quietly converting or extracting behind the curtain.

So the real question was never how to send the file. It was which of two very different reading experiences each file deserves, and what each one costs.

The costs are delightfully backwards

Cost follows what the model reads, not what you upload:

What we sent File size Relative cost to answer
A full slide deck, as extracted text 24.7 MB about a third of a cent
A two page resume PDF, read visually 73 KB several times the giant deck

The deck was mostly pictures, and words are cheap. The little PDF cost more because the model actually looked at the pages, and page reading is the premium experience.

We also tested the obvious compromise: rip the images out of a deck and send those along with the text. Real data killed it in one afternoon. On our test deck it cost the same as full page reading while delivering a fraction of the value, and the biggest images in the file turned out to be decorative slide backgrounds, not the charts that mattered.

The balance we landed on

Text extraction stays free and universal. Works with every model including your own keys, costs pennies, and for text heavy documents it loses almost nothing.

Full visual PDF reading is coming to Pro. It is the genuinely premium experience, and it costs real money per question.

For Office formats, we refused to ship a half measure. For now the honest guidance is export to PDF, which is lossless today. The real fix was already on our roadmap, and every hour spent on a stopgap would have been a bet against it.

The part we're most excited about

That real fix is in final testing now. Instead of straining to read Office files better, we gave the AI a workspace where it opens the actual file programmatically and, more importantly, writes files back. Ask for a tracking spreadsheet built from your meeting and you get a real Excel file, not a wall of text you have to copy into one.

Here's the contrast that stopped us: reading a 25 megabyte deck cost a third of a cent. Creating one small spreadsheet cost almost a dollar. Same AI, three orders of magnitude apart, because generation isn't one read, it's the model reading your meeting, writing code, running it, checking its own work, and reading everything again at every step. That is not a business at a dollar a file. Then the secret sauce went in, and it now runs at about a third of that, which very much is one. We knew both numbers before committing to the build, because we measured them on real meetings first. That habit saved us twice this week.

One thing we'll brag about

Every limit in this system, file sizes, page counts, formats, is a value our servers send to the app, not code baked into it. When the underlying models get better, and they will, your app gets more capable overnight, no app store update required.

And your files stay yours. Attachments live on your device, generated files are saved into your meeting the moment they arrive, and our servers hold bytes for hours, not forever. No dead links in your history, no warehouse of your documents on our side.

More soon. The spreadsheet feature in particular has been fun to watch work.

reddit.com
u/AmazingFinding6383 — 1 month ago

Meeting CoPilot runs entirely on your phone listens or reads the captions

You control your data no bots joining a call. Nobody knows you’re getting invisible assistance live in your meetings, or afterwords. If you want complete security, use your own own device models and your information never leaves your iPhone. Want to BYOK, the app supports that. Don’t know what BYOK is? sign up for Shoulder Surf AI and get five hours a month free or subscribe for more hours and advanced features. During the TestFlight all subscriptions are free.
Public TestFlight on the website

shouldersurf.com
u/gixxerscott — 2 months ago
▲ 8 r/AiNoteTaker+1 crossposts

Shoulder Surf is a Meeting Co-pilot

Shoulder Surf — AI meeting copilot for iPhone & iPad

Real-time AI assistance during meetings, with zero footprint on your work computer. Your iPhone listens through its mic and answers through your AirPods (or on-screen text). Works for both virtual calls and in-person meetings.

Site: shouldersurf.com

What makes it different

Shoulder Surf can run entirely on your personal phone. Nothing touches your work machine, nothing shows up on a screen share and you don't need to ask the host to send the meeing notes or transcript to have a record of the meting.

A few of the things it does:

  • Live transcription with speaker labels
  • On-demand answers to questions you ask during the meeting
  • Post-meeting reports, summaries, and action items.
  • Your data, synced across devices, backed up as accessible files in icloud.
  • Share transcripts, summaries, queries, and audio files using standar share sheets.
  • Project Chat across multiple meetings tied to the same project
  • Optional "Memory" layer that learns durable facts about your work over time.

TestFlight pricing — everything's free right now

All subscription tiers are free during TestFlight. Pick whatever tier you want when the paywall shows up. You won't be charged.

https://developer.apple.com/help/app-store-connect/test-a-beta-version/testing-subscriptions-and-in-app-purchases-in-testflight

There are three ways to power the AI side of the app, and you can switch between them in Settings → AI Model at any time:

  1. On-device (Apple Intelligence) — Free, forever. No API key, no subscription, no network round-trip. Requires Apple Intelligence support on your device. Quality is decent for summaries; not as strong for deeper reasoning.
  2. Bring your own key (BYOK) — Plug in your OpenAI, Anthropic, Google, OpenRouter, Groq, or other provider key. You pay your provider directly at their usage rates; Shoulder Surf doesn't take a cut. Best if you already have credits somewhere.
  3. Shoulder Surf AI (Plus / Pro) — Our hosted gateway. Higher-quality models, no key management, server-side features like web search (Plus+) and Memory (Pro+). Subscribe to any tier in-app.

Requirements

  • iPhone or iPad running iOS 26 or later
  • AirPods (or any Bluetooth audio) recommended for the spoken-response path — not required
  • Microphone permission (obviously)

What I'd love feedback on

  • Anything that crashes or hangs (in-app Diagnostics screen captures these — bundle them and email if you hit one)
  • Speaker diarization accuracy across different meeting types
  • Whether the post-meeting report is useful as-is or needs more structure
  • Anything that feels confusing on first run
  • Missing models, there are currently 20 frontier AI models supported from OpenAI, Anthropic, Google, xAI, Moonshot, Alibaba, and DeepSeek, plus OpenRouter access if you want even more.

Links

Thanks for testing.

testflight.apple.com
u/gixxerscott — 2 months ago