The biggest mistake when building something is over-polishing before shipping.
This was one of the insights that stood out to me from the Startup Insider live online panel discussion on Lessons from Startups That Scaled with Alexander Matthey, Kevin Berghoff, and Desiree-Jessica Pely, PhD that I watched yesterday.
While I am not running a startup and trying to bring a product to market, I have been experimenting with AI to build skills, agents, workflows, and websites to ease pains in my everyday life and have worked through a similar mistake: trying to perfect a system before seeing what it produces can prevent you from discovering what actually works.
As a second-year student at Northeastern University, I will be spending the next semester looking for a 6-month co-op, which will take place from January to June 2027. After talking to people working in tech, it is clear there are also a huge number of opportunities that are functionally the same as a co-op but are named something else and are posted directly by companies rather than through the Northeastern co-op system.
This is why, last week, I had the idea to build an agent with Claude Code that could execute a daily search of job postings at relevant companies and add them to a Notion file where I could check them for relevance and apply.
Early versions were returning results in obscure cities, from companies with nothing to do with tech, and for roles I was unqualified for. My solution: to iterate and tighten my search criteria until I ended up with a huge document of restrictions for my agent to follow.
By the time I had hit double-digit iterations, my agent only returned 4 job postings. It became clear that this process was not going to be sustainable. Unlike a human, my agent did not know when to break the rules I had set for it. This is when I realized that I had been pre-deciding my results by setting so many filters, and that in order to improve what I had built, I needed to move in the other direction and widen my search.
Location, language, and work authorization stayed as hard filters. Everything else, including company fit, roles that were 4 months instead of 6, and companies that may not have seemed like a fit on the surface, was loosened. I replaced those restrictions with an open column for written feedback where I could “grade” the fit of each job found by my agent.
The lesson wasn’t that I needed a more polished agent. It was that I needed to give myself something imperfect to work with. By trying to eliminate every bad result in advance, I had also eliminated opportunities to learn from unexpected ones.
If you find this interesting or have a different take, please reach out! I would love to discuss further.