Inspiration
Have you ever set a 25-minute timer to study and then spent the whole 25 minutes waiting for it to go off? We had, and that was the tell. Every tool that claims to measure productivity actually measures its shadow. Timers measure time you are just trying to survive. Checkboxes measure a claim you make about yourself. Employee monitors measure keystrokes, which people fake with a ten-dollar mouse-jiggler. Not one of them answers the only question that keeps a stuck student going, which is whether they are actually getting anywhere right now.
What mattered more than any feature idea was a simpler realization. People do not quit hard work because they are lazy. They quit because the middle of the work is invisible. You cannot see progress, so you assume there isn't any, so you stop. We wanted to make that invisible middle visible, and we wanted the picture to be honest.
What it does
Plover is a translucent companion that sits on your screen while you work. You tell it what you are doing, Gemini breaks that into concrete steps, and you confirm them. From there it quietly reads evidence of real work, including pages reached, words written, problems finished, and commits made. A progress ring fills based on what you have actually done, rather than what you claim or how long you sat there.
It behaves like a body double instead of a boss. There are no nags, no streaks, and no manager watching over your shoulder. We made an intentional choice to keep it single-player. The moment someone's boss can see the dashboard, the companion becomes surveillance, and the whole thing dies.
How we built it
The product is an Electron desktop client paired with a Cloud Run backend that brokers every Gemini call, so the client itself never holds a key. Gemini runs four decisions in production. It decomposes goals into steps, infers progress from activity, matches git commits to the tasks they satisfy, and summarizes your declared work context by vision only if you opt in. Firestore holds state, Secret Manager holds keys, and we wired in Google Workspace APIs so the work context can come from the documents people already live in.
Challenges we ran into
The honest challenge came first. Verifying knowledge work is genuinely unsolved, because you cannot prove from the outside that someone actually learned something. We refused to pretend otherwise, so we scoped the product to observable evidence of progress rather than mastery. The rule we held ourselves to was to estimate and never overclaim.
The second challenge was trust. Screen-awareness is one architecture decision away from becoming the exact thing everyone rightly hates, so we made it local-first and kept the vision path off by default. The third challenge was tone. It turned out that the difference between a companion and a nag lives entirely in how the feedback talks to you. We cut every notification that pressures and kept only the ones that inform.
Accomplishments that we're proud of
We shipped a product where AI actually makes the call in production. This is not a demo reel. It is a live loop that advances real people's progress with no human in the loop. Alongside that, we hand-onboarded ten beta testers and grew a thirty-four-person waitlist without spending a dollar on marketing.
The accomplishment I am quietly proudest of is a thing we chose not to build. We said no to the enterprise dashboard, which was the one feature that would have made us look bigger to a judge while breaking the trust the product depends on.
What we learned
The motivator was never the goal, and it was never the timer. It was seeing that you are 65% done and actually believing it. I also learned that the human-in-the-loop line is not a technical detail but a product decision. We let AI judge the work and kept humans in charge of the intent, and that boundary turned out to be the product itself.
Looking back, our real miss was assuming a good product would spread on its own. For a desktop tool that asks for screen permission, the first ten users are earned one conversation at a time. They do not arrive because you launched louder.
What's next for Plover
The near-term plan is to charge the waitlist and hand the repetitive operations to AI agents. Support, feedback synthesis, and the occasional check-in when a ring goes stale can all be owned by agents, which is what lets two people grow this without becoming a full-time support desk. We also want to lower the friction of that first install, because friction is where good tools quietly lose people.
After that, we take the same invisible-middle problem to the people beyond students who feel it just as hard. Solo writers and knowledge-workers stare at their own stuck progress bars every day. We are all consumers of tools that measure the wrong thing, and I would rather build one that measures what actually matters.
Built With
- gcp
- postgressql
- python
- stripe
- typescript
Log in or sign up for Devpost to join the conversation.