Some engagements are remembered for what was built. Others are remembered for the decisions made when a project’s technical direction, legal exposure, and professional boundaries no longer aligned.
This was one of those projects.
The client approached Grayhat to develop highly specialized ticket automation infrastructure involving proxies, anti-bot circumvention techniques, and interaction with systems protected by technologies such as PerimeterX. The initial scope presented itself as an advanced automation challenge, as was in the name itself. However, as the engagement progressed and our engineers learned more and more about the requirements post-agreement, it became evident that the proposed methods relied heavily on unstable tooling (which the client themselves provided and insisted on using) and increasingly questionable approaches (and close to impossible, without jumping into possibly illegal areas) that our team was not comfortable deploying.
We attempted to redirect the project toward more reliable and professionally maintainable technical solutions. Those recommendations were rejected. The relationship quickly deteriorated, and after a short period of engagement, the client publicly accused our team of incompetence, misrepresentation, and contractual breach, despite the fact that the project had only progressed through an initial paid engagement period for which engineering time and resources had already been committed.
It is important to understand the timeline.
The client’s public review described imminent legal action against Grayhat. No such legal action was ultimately brought. The advance payment in dispute represented compensation for engineering time already spent investigating, architecting, and evaluating the requested solutions—not a refundable deposit held without work being performed.
We have always believed that professionalism means saying a strong “no” when a request requires us to compromise on engineering standards, maintainability, or ethical boundaries.
This remains the only one-star review in Grayhat’s Upwork history. Every other project, before and after this engagement, has been built on long-term trust, technical excellence, and transparent communication with our partners. We discontinued our use of Upwork not soon after, because of other decisions, as the platform does not serve our interests.
In retrospect, this project became a defining lesson: the best engineers are not only measured by what they can build, but by the problems they refuse to solve the wrong way.
Important Update for further context: As of 2026 (the time of writing this), the client's company has been shut down due to this very same questionable and unethical behaviour, by the same company against which the client had requested us to do questionable activity on. It brings Grayhat no satisfaction, however, it does teach us a lesson, humbles us, and helps us align ourselves in the future to take on work which has better impact on peoples' lives.