Hacker News

Launch HN: Minicor (YC P26) – Windows desktop automations at scale

45 points by fchishtie ago | 37 comments
Hey we’re Faiz and Saheed and we built Minicor so AI companies who need to integrate to desktop systems with no API can quickly build scalable desktop RPAs. Demo: https://www.youtube.com/watch?v=MD0GHZIJ1cw

We were working on non-RPA integrations when a customer promised to sign a deal in 2 days if we could unblock a sale of theirs that involved integrating with a clinic’s Windows based medical record system. We didn’t know it at the time but it turns out that building desktop RPAs at scale is extremely difficult because scripting is hard (learning the system, defining the automation, UIs changing constantly), orchestration is hard (is the VM up? queuing, parallelizing) and debugging is hard (zero observability, false positives, cascading failures). 30%+ failure rates are not uncommon. At scale we’ve seen cases of failed RPAs leading to thousands of support tickets a month.

To solve the problems we were facing, we built an MCP that Claude Code/Codex can use to navigate a virtual machine running desktop software with Python to create RPA workflows. The RPA workflows run as Python scripts for speed, cost, and determinism. These workflows can be triggered by API following any input/output schema specified, with video replays and logs stored with each run. The MCP can debug RPAs and make changes to the underlying code, all of which are version controlled. We also built tools for cloning VMs for parallelizing RPAs, and handling 2FA/OTP challenges. Plus since workflows are code based: we were also able to add triggers for Slack notifications, human-in-the-loop steps, or call an LLM to verify the state of a VM by passing a screenshot.

Would love to hear your feedback and if you have any RPA horror stories! (:

polonbike |next [-]

Congrats on the launch. One complaint: RPA this, non-RPA that, but you never explain what it means. I would write down the acronym fully once at the first mention on the landing page.

fchishtie |root |parent [-]

Thank you!! Yeah that's a good point - it's been so engrained in our brains, appreciate the feedback

throw03172019 |next |previous [-]

Biggest question is how much of this can be stored / processed on our own infra and with our own lifecycle rules? For example, this can touch a lot of PHI. Screenshots, videos, JSON inputs/outputs etc.

fchishtie |root |parent [-]

logs get written in our customers' premises on a bucket of their choosing (: so PHI doesn't leave their VPC

throw03172019 |root |parent [-]

That’s perfect. Is this documented somewhere? Would love a deep dive on security / setup tweaks for data.

fchishtie |root |parent [-]

happy to share more over email! you can reach me at faiz@minicor.com

throw03172019 |next |previous [-]

Does this only revert back to LLM Vision when it catches an error? I.e once the RPA / workflow is built once, it’s efficient for running multiple times (until it catches an error state)?

fchishtie |root |parent [-]

yes effectively, but we use LLM vision in multiple places - for context, there are multiple ways an RPA can fail:

1. RPA code breaks (ex: throws an exception if a window does not exist) 2. RPA reports success but was clicking / typing in the wrong place 3. Underlying system breaks (virtual machine / legacy software)

the skill we have in our MCP is to build the RPA code to throw exceptions where possible so an LLM can understand the context and recover

to avoid false success states we add LLM vision steps in the workflow itself to error out if it sees that the system is in the wrong state

and for the underlying system breaking it can be as simple as having a CRON job that checks the status of the process / the health of the VM and running a script to reboot the system

it depends on the system but the pattern we've seen with RPAs is you can catch maybe 80% of the edge cases in the first week it's been rolled out

dragonsenseiguy |next |previous [-]

Small website nitpick: I feel like the "In production with" section's companies logos should be a bit darker, I could barely tell there was something there.

fchishtie |root |parent [-]

yes good call out - that customer wheel is so overdue for an update

ilundin |next |previous [-]

Is the cloud LLM the judge based on screenshots with patient/customer data included ? That seems like a no-go for many countries given privacy concerns ?

fchishtie |root |parent [-]

No patient/customer data included in the screenshots - in production we’d basically find some “region” of the screen to screenshot that would help an LLM say yes/no to - ex: “is the nav bar green and does it say Insert Note”

ilundin |root |parent [-]

Ok, that seems doable if working perfect, but what is the tool output "i can see the patient list with search functionality and 30 patients" thing in the demo ? Is this not vision detected ? Or are you digging into windows api (making non standard windows components/widgets non working)?

fchishtie |root |parent [-]

ah for the fake EMR demo I was a bit less strict with claude, it was vision detected likely - our MCP has tools for taking screenshots of the screen and inspecting the windows accessibility tree etc

a-dub |next |previous [-]

i'm curious: how does the steady state error rate of a stochastic automated system like this compare with the downtime and errors that come from a (brittle) deterministic bridge that can fail with upgrades? what does the observability look like? (i'm guessing one feature is that the execution log including images/screenshots for each transaction gets saved, which is probably a huge improvement.)

fchishtie |root |parent [-]

it’s a good q - we experimented a lot with computer use / agentic automation and found that at scale a hybrid solution where the automations run as deterministic code with agents for recovery is the best - running automations as code is faster & cheaper & when you’re doing critical tasks (like updating patient records) you don’t want an agent to potentially mess something up.

previously writing RPA code used to take a long time - using AI (and its infinite patience) we can write more durable code that covers more edge cases

And since they’re code based it’s pretty straightforward to an agents monitor them and update their code when upgrades to the underlying system happen etc…

for observability - we have workflow execution logs that store text, videos and screenshots so an agent or a human can debug them - lots and lots of webhooks when things break ! (:

throw03172019 |next |previous [-]

How does this compare with CyberDesk (also YC)?

fchishtie |root |parent [-]

We think CyberDesk is great - our main difference is I believe the primary driver for their automations is computer use / agent based - whereas our automations use agents to create/maintain/support python code

theaniketmaurya |next |previous [-]

Congrats on the launch! Legacy system users are also one of the slowest to adopt AI. How do you navigate that?

fchishtie |root |parent |next [-]

100% right - we support the AI companies who are selling to the legacy end users - for ex: we don’t sell directly to hospitals, but an AI scribe for doctors that already has a hospital as a customer, we help them integrate to the hospital’s EMR

debarshri |root |parent |previous [-]

Legacy system users are also the one who pays the most for tools and services. We sell to enterprise, I can attest to that. If it is relevant usecase and positioning for the market, it should be fine.

fchishtie |root |parent [-]

yeah it’s been interesting to watch, we were surprised initially at how much legacy users actually wanted to adopt AI - I think it’s because of how awful the old software can be to interact with

throw03172019 |next |previous [-]

So AI companies would install this on their customer (practices) computers?

fchishtie |root |parent [-]

Yes, more likely on a virtual machine running the legacy software

throw03172019 |root |parent [-]

Thanks. Most practices are not tech savvy. So how would the VM setup work in their own network / machines?

fchishtie |root |parent [-]

Yeah that’s true - in those cases we’ve either worked with their outsourced IT provider to spin up VMs for us or have had to spin up our own VM and connect through a VPN - IT can be very fun…

mingabunga |next |previous [-]

Could you use this to test new releases of software for bugs? A bit like TDD but for GUI interactions

fchishtie |root |parent [-]

Yes! we have customers doing that

snozolli |next |previous [-]

Computer use agents that run on Windows VMs or in the browser. On-premise, cloud

I think you meant premises.

https://brians.wsu.edu/2016/05/30/premise-premises/

throw03172019 |root |parent |next [-]

I’ve never heard a customer say “on-premises” when talking about servers they run. On-premise is usually the term regardless if it is “correct”.

snozolli |root |parent [-]

54% of Americans read below a 6th grade level. People word-mash "alot", "atleast", and now "eachother" all the time. Sports commentators use verse when they mean versus.

I'm not suggesting that you correct your customers, but there's no reason to sink to the lowest common denominator when writing.

fchishtie |root |parent |previous [-]

thank you - good catch (:

throw03172019 |next |previous [-]

Please make your trust center public if you are focusing on healthcare AI companies…the footer link is dead.

fchishtie |root |parent [-]

Thanks for flagging this!

Boxxed |next |previous [-]

What the deuce is an "RPA"?

saheed_laminar |root |parent |next [-]

Its an acronym for Robotic Process Automation. It usually means triggering mouse clicks and key stokes to perform tasks

fchishtie |root |parent |previous [-]

It's a script that simulates clicks/keystrokes on Desktop/Web

viveksingh_17 |previous [-]

[flagged]