Thanks for hunting us @fmerian !
What is Watermelon?
For software engineering teams that spend a lot of time reviewing pull requests, we provide an open-source copilot for code review.
We trace the code context associated with PRs from sources like GitHub, Slack, Linear, and Notion. Our system identifies errors in PRs, initially focusing on console log detection and comments on the line diffs. Taking these insights into account, we conduct a pre-review of PRs and assign them appropriate labels.
Why us?@estebandalelr and I have been developing software for the past 6 years and we've worked at companies of all sizes, from 2-person to 1,000-person companies. Code review was always a pain for us.
Devs spend 30% of their time doing code reviews, and 40% of PRs don't contain a description. Despite advances in AI for code, there hasn't been much innovation around solving this pain point.
We aimed to create a tool that goes beyond just a basic syntactic analysis of the PR.
Please help us with the following. We will highly appreciate it:
- Introductions to engineering leaders at companies who use GitHub.
- Star us on GitHub.
- Install Watermelon and give us your feedback.
Thank you very much, ProductHunt! 😄
@naveed_rehman there's a new breed of innovative tools adding AI to their products to expedite code review. That's correct.
Being open-source is key to differentiation. As developers, we prefer to install open stuff. We trust those products more. In addition to that, I want to give you a glimpse of something that's already having a test PR: We'll give you the ability to choose your model of preference if you're more inclined towards an OSS alternative to Open AI such as Mistral.
Beyond that and what's most important is that contrary to all these other products, we understand that we need to trace code context for LLMs to produce the best results.
This is so time-saving. Especially for those repositories who get tons of pull requests in a short amount of time. Great product guys and congrats on your launch.
@hosseinyazdi 100%. Repos with a lot of PRs are the ones that get the best use case. Very curious to learn: What is it exactly about the product that catches your attention the most?
Hey Esteban, I remember seeing watermelon long ago at the Pioneer tournament! It is great to see the project made a lot of progress and launched on ProductHunt. Congrats on the launch! I think it would be great if teams could add some rules for the PR. For example, if the PR size is too large, advise the developer to split the PR into multiple small PRs.
@atsuhiro_teshima Woah that was very long ago! We were not even building a dev tool back then. It's been so long in retrospect. Thanks for your support!
We've been thinking about adding something like this to our rules engine. For instance, we know that certain companies have a rule that says "a PR shouldn't exceed 200 LOC". What's going on around our heads is "how do we make this not so opinionated, but at the same time not so unopinionated as including the X number of LOC as a settings parameter?" "Is number of LOC the best proxy for everyone in the first place?"
Would you please give us some advice on this? How do you recommend we think about it?
@yev_yev_yev Ty! Huge fan of Multiple here.
Not yet but it's something we're planning to expand into very soon as it's something that we can very easily do on top of what we have already built.
Can I ask, what language are you guys using?
We're using TypeScript. An example would be:
```typescript
const someFn = () => {
// const oldLeftoverVar = 10;
const x = 5;
return x;
}
```
I want to detect/remove the leftover code
We've been using Watermelon at ConvertFlow. It helps reduce that "ping pong" effect in PR work, by setting lots of context and catching common things quickly. Highly recommended!
Congrats on the Watermelon launch! It's fantastic to see tools that streamline the code review process. I'm excited about the potential time-saving benefits for engineering teams. Keep up the great work!
@daxeelsoni thanks for your support! We’ve identified code review is a very common bottleneck for engineering teams, therefore we’re laser-focused on solving this.
May I ask, is your team’s bottleneck more around velocity or stability?
Hey! Congrats on the launch! It’s looks very-very good and I’ll try to use it in my current project. I only scare that your teammates will become lazy reviewing PRs)
@kgrebenjukov Hey Kirill, we would also like your opinion about this.
We also want to introduce author behavior to the PR scoring system that ultimately creates a label. Eg: Reward the score of a PR authored by a dev that has commented and reviewed a lot of PRs. Penalize the score of a PR authored by someone who doesn't do code review.
Do you think would disincentivize lazy behaviors?
@helloteban What this score should say to the team? 1) that one dev reviewed bunch of PRs and other didn't? 2) Or that someone is doing it great?
I don't think that 1) is the real problem. In most of the team I was working there always was some kind of rotation in reviewing + tech lead views most of PR, often not in details but to ensure that team doesn't make huge mistakes.
For 2) it's very hard to measure a quality or review, because it depends on quality of PR. If PR is great, review could be "LGTM :+1". From the other hand the same review could be for a terrible PR. Who will judge? AI? Is AI is good in this area? Is team trust to AI? I don't think so. You also will face the problem, that people who doesn't really understand dev processes will trust by this AI generated label and could make a decisions based on it.
Another key point is the goal of such label? Who is target audience for it? There is a gold rule - celebrate publicly and provide negative feedback in private. Could we demotivate some team members by such labels? I think so.
Here is something from top of my head
@kgrebenjukov this is very insightful ty! This has been our train of thought:
- Not all dev teams have a round-robin PR review strategy. In the ones that do, what we're thinking about would incorrectly punish correct behavior. That's a great insight.
- Code review in our opinion, more than making developers become a linter to each others' code, should be about sharing context and learning about the codebase and the business together. Because of this, an important part of our vision is to contextualize PRs with way more than an all-too-common "LGTM".
- We're a copilot - not an autopilot - for code review. We pre-review PRs by adding a corresponding label, but we don't immediately approve or request changes on the PR. Same when commenting line diffs, they come with a comment, but not with a request to change.
- Some users really like the labels, others don't. We initially opinionated the product towards these labels, but very soon you'll be able to turn them off via settings. It's a taste thing.
But it's still very early and we iterate something every day! Your input is very valuable for this iteration process.
@helloteban@kgrebenjukov Great insights!
I'm usually the one pushing back on innovation on the product, I try to play safe and would like to talk more.
@matijash Thanks! Huge fan of Wasp BTW.
Long story short: First, it's different. All dev tools have a name mixing the word "Git", "Code", or "Source" with some other word. We're gonna win by being different.
Second, it has an emoji. Who doesn't like emojis? 🍉🍉🍉
Congrats on the launch! Watermelon's AI-assisted PR insights will help in streamlining the code collaboration, simplifying the PR reviews with smart tagging. It can become a game-changer for busy teams!
Congrats on the launch @helloteban ! Will get our team to surely try this out. Small feedback on your website, the initial scrolling laptop animation has a bit of an issue! Do check that out...
Anyways really rooting for the product!
This is a gamer changer. Commenting and reviewing pull requests is so time costuming. It's open source and streamlines the communication channel as well. Kudos founding team!
Hey @helloteban, what an incredible feat you've achieved! It's inspiring to see a product that focuses on helping code reviewers. We're really excited to see the impact that this watermelon can have on the programming community. All the best!
@rep_eat Thanks, and more than happy to guide you through the process of using our product!
Anything that you particularly like that we should double down on?
Keep it up, guys!
We have been using 🍉 in our startup since early this year. It has helped us a LOT. We are looking forward to implementing this new launch!
Watermelon