Watermelon
p/watermelon
Onboard devs to your codebase faster
flo merian

Watermelon — Open source copilot for code review

Featured
69
For software engineering teams that spend a lot of time reviewing pull requests, we provide an open-source copilot for code review.
Replies
Best
Esteban Vargas
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
first, logo is so cool! second, aren't there a few ai tools already available? whats your unique value? congratz
Esteban Vargas
@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.
Hossein Yazdi
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.
Esteban Vargas
@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?
Esteban Dalel Rueda
@hosseinyazdi Messy repos are the ones that get the most out of us, do you have any examples we can look at?
Hiro - Atsuhiro Teshima
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.
Esteban Vargas
@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 Spektor
This looks awesome, congrats on the launch! I'm going to share it with my team. Can it detect "leftover commented out code"?
Esteban Vargas
@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?
Esteban Dalel Rueda
@yev_yev_yev Do you have some examples we can look at?
Yev Spektor
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
André J
Is it free for public open-source projects? pleas say yes 🙏
Esteban Vargas
@sentry_co yes it is! We believe it’s very important to incentivize OSS. What other products have you seen do this very well?
André J
@helloteban I adopted codebeat.co back in the days. Their growth hack: slide up in trending OSS repos 😂
Esteban Dalel Rueda
@sentry_co Yes! We will still count, but we support open source.
Jonathan Denney
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!
Esteban Vargas
@jonathandenney Thanks for your support! Hope we're adding value. Please let us know if there's anything we should fix or add.
Daxeel Soni
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!
Esteban Vargas
@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?
Kirill Grebenjukov
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)
Kirill Grebenjukov
@kgrebenjukov there are very promising AI powered dev toolchain - writing docs, writing unit & e2e tests and reviewing PR - awazing setup)
Esteban Vargas
@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?
Kirill Grebenjukov
💡 Bright idea
@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
Esteban Vargas
@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.
Esteban Dalel Rueda
@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.
Artem Konovalov 💎
Hey there! That's a cool idea. Having an open-source copilot for code reviews should make life a lot easier for engineers😃. Thanks for sharing!
Matija Sosic
Congrats on the launch! Btw I love the name :) What's the story behind it?
Esteban Vargas
@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? 🍉🍉🍉
Matija Sosic
@helloteban I agree with the logic! :D
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!
Rohan Singhvi
💎 Pixel perfection
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!
Esteban Vargas
@rohan_singhvi1 Thanks! Yeah the website does need some work. Are you on mobile or desktop?
Gerardo Vazquez
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!
Jan Heinvirta
Nice! Been looking for something like this for our team!
Esteban Vargas
@pekka Thanks for your support! Is there something in particular that grabs your attention?
Esteban Dalel Rueda
@pekka Any feedback is welcome
Wojtek
WOW! I need to try this :)
Esteban Dalel Rueda
@octocode Please do! First 500 uses are free.
Sam Abrika
We do spend a lot of time in PR review. Time to try Watermelon for the rescue, thanks @helloteban
Esteban Vargas
@samabrika1 Indeed! Hope we can speed things up. Are you guys using GitHub?
Esteban Vargas
@samabrika1 Awesome! I saw you guys started using it. Please let us know if you have any feedback for us!
Luca Repetto
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!
Esteban Vargas
@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?
Juliana Amorim
Looks very promising! Already sent to our dev team :)
Esteban Dalel Rueda
@amorimj Thanks! We'd love their feedback.
Santiago Sáenz Ariza
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!
Esteban Vargas
@santiago_saenz_ariza Thanks! Hope we're adding value. Quick questions: What should we improve? What are we doing well that we should double down on?
Santiago Sáenz Ariza
@helloteban the context indexing has been working fine, but the console log detection fails sometimes.