Show HN: Watermelon – GPT-powered code contextualizer

(watermelontools.com)

100 points | by baristaGeek 401 days ago

15 comments

  • flufferstutter 401 days ago
    As a dev I was immediately turned off by having absolutely nothing on the page showing me what it can actually do.
    • baristaGeek 401 days ago
      Hey there! Thanks for your feedback, we should've have been more clear. What our extension allows you to do on VS Code is:

      - Go to a file / highlight a block of code you want to understand at depth

      - We take the commit hashes for the lines selected (the whole file if no LOC selected)

      - We pass those commit hashes as a parameter to the GitHub/GitLab/Bitbucket API to obtain all the associated PRs

      - We sort those PRs by relevance (using number of comments as the heuristic)

      - With the title of that PR, we search for the Slack threads and Jira tickets most closely associated to that PR title (if you optinally integrated Slack and/or Jira)

      - We aggregate to a GPT prompt the title and body of the most relevant piece of info from each source, to finally generate a summary of that code context.

      • flufferstutter 401 days ago
        Having some examples on the page would really help. Your explanations do not really give me any idea what to expect.
        • willbw 401 days ago
          I agree, no examples means I have to download and try it out - no thanks .
        • baristaGeek 401 days ago
          Thanks! We'll try to provide better examples.
  • woah 401 days ago
    Very cool idea, but it is asking for access to all github repos, public and private? All personal details as well?

    You should really refine what you're asking for. I would like to use this for open source code and it should be able to do a great job, but this is crazy.

    • baristaGeek 401 days ago
      Hey, thanks! It's a limitation we have with the scopes that the GitHub API provides.

      You can't limit which repos in an organization you're gonna give it access to, but you can limit which organizations you are going to give it access to.

      Starting with an organization that has public repos is a good way of starting, indeed.

      • woah 400 days ago
        Can't you just make it work without me giving any access if I am using it in an open source repo?
  • arjunlol 401 days ago
    This is great! Also awesome that it's open source. I was actually in the process of building this exact thing, I'll pause on that. I'm curious- what size companies do you envision as your target customer? And have you gotten any pushback yet about security/compliance concerns?
    • baristaGeek 401 days ago
      If you ever wanna chat please ping me!

      About the ideal size and security concerns: We've actually seen the most pushback from very small teams (5 or less engineers). I'm not sure why exactly, but my best guess is that as companies grow, it simply becomes more normal for them to give access to these tools and they see that nothing bad happens (they end up getting a lot of value actually).

      However, we can't integrate with the self-hosted/enterprise versions of GitHub, VS Code/Slack, etc. yet which is what our potentially best customers in the future use.

      Because of that, the ICP is engineering teams sized between 15 and 150

      • arjunlol 401 days ago
        I'll message you, it'd be great to chat! I was working on https://bemi.ai/, which was pretty early stage. Also random suggestion- I don't think there's a need for the homepage header text & image to be delayed showing with the side swoop in animation, or at least the delay timer could be lessened. I found myself almost scrolling past without seeing it when I tried reloading your page.
        • baristaGeek 401 days ago
          Please message me! And thanks for the animation feedback
    • estebandalelr 401 days ago
      Honestly, we start the convo by saying we don't store code. That is what eases them into accepting. We care about privacy, that's wy we are open source.
      • andreshb 401 days ago
        This and how you actually managed the data being sent / code. Compliance won’t let me touch this otherwise
        • estebandalelr 400 days ago
          Send us a DM to @watermelontools on twitter, I will answer ASAP!
  • madamelic 401 days ago
    Super cool... but these tools always seem to be in the non-existent middle of a Venn diagram of "big enough a dev can't hold all context" and "small enough no one is going to care if we hand over everything".

    What are your thoughts on this issue and the future of these kinds of tools where teams have to hand over the key to the city on a ongoing basis and running on dev computers?

    Most dev tools are isolated to a certain extent and aren't getting blank checks to the entire engineering department from top to bottom with access to external tools that detail business concerns. These tools seem like extremely ripe pickings for targeting for corporate espionage / hackers to 'pwn' companies.

    • baristaGeek 401 days ago
      This is a very good and common question we get, thanks for bringing it to the discussion. We have a very strong conviction that these kinds of tools have to be open-source to solve this trust issue.

      In fact, we wrote this blog post where we talk about how we're building this without storing your code or passing it through our server at all: https://www.watermelontools.com/post/building-a-code-archeol...

      You still have to give us read access to your GitHub, Slack, Jira, etc. Which is still asking for access to corporate info, but you know... people are very used to giving access to these tools via oAuth flows.

      Regarding running on dev computers, we have one answer to that: Providing value as a GitHub Action. We still haven't launched it (it's gonna happen very soon), but our hypothesis is that by packaging the product in such format, we'll be able to address that very valid concern.

      Thanks!

    • estebandalelr 401 days ago
      Our attack surface is big, yes, but think about slack or Apple notes, where people keep the actual api keys. We could be a risk, but I, as CTO have ensured to the best of my knowledge it's hard to do. If you want to talk more about it, I'd love to do so, learning would be great!
    • quickthrower2 401 days ago
      Same issue with CI systems surely? And indeed Github itself! But people use them. I wonder why they are so successful.
  • alfalfasprout 401 days ago
    Do you offer a self-hosted solution? If not, it's going to be a tall order to get many companies to be willing to hand over their codebases.
    • baristaGeek 401 days ago
      Hey there, thanks for your suggestion! Self-hosted is on the roadmap to be able to get enterprise customers for sure. We're focused on SMB right now so it's not the immediate focus, but we do recognize we need to integrate with the self hosted versions of GitHub, Slack, etc. to be able to go sell to the enterprise.
      • baristaGeek 401 days ago
        That being said, I do wanna point that a few individual devs at public companies have signed up and started using it.
        • alfalfasprout 400 days ago
          I'd exercise extreme caution-- they may be in violation of their own company policies. Knowingly processing code from these companies may expose you to liability.
  • jeremyis 401 days ago
    This looks neat! So it's like super-charged intellisense for something in your code? https://news.ycombinator.com/item?id=35251029

    Looks helpful! What else is on the roadmap?

    • baristaGeek 401 days ago
      Yes! Super-charged by indexing passive documentation from Slack, Jira, etc.

      Besides the GitHub (and its counterparts) Action, I can tell you that we have ideas for:

      - A Discord integration

      - Fine-tune GPT (with Git, Slack and Jira data) to be able to ask questions specific to your codebase

      - An expansion to Intelli J

    • estebandalelr 401 days ago
      We might also extend it to other services, and have a browser extension.
  • donpark 401 days ago
    • baristaGeek 401 days ago
      Thanks for pointing this out! This is an old version btw, I'll update the video to show a new version in a moment.
  • polishdude20 401 days ago
    Does this at all send code and company communication to any third party servers? Like, GPT stores all prompts does it not? Seems like a no-go for most companies if they don't vet GPT first.
    • andreshb 401 days ago
      I can’t use ChatGPT in too many cases because of lack of data transfer agreement.

      Aside from an appliance in some local servers, what vendors do you use that solve this problem well ?

      • estebandalelr 400 days ago
        For now, we are adding a setting to restrict where your data goes.
  • estebandalelr 401 days ago
    CTO here! On the github action: it is in development and will soon also be open source! Find us on twitter if you see any bugs, we don't like fruit flies.
  • carlosagudelo 400 days ago
    Great job guys! Supporting Latam Tech founders
  • kevmo314 401 days ago
    > In the image below you can see how hovering over a line of code provides us the following:

    git blame with more steps?

    • baristaGeek 401 days ago
      Git blame with more information, and with a nice visualization.

      Thanks for your comment. It's something we should be more clear about.

    • estebandalelr 401 days ago
      Blame gives you the committer. Watermelon givees the ticket, PR and Slack thread, and also the committer.
  • findnfund 400 days ago
    Excellent work Guys. Very useful and need it for a long time. Congratulations!
  • czc 401 days ago
    Amazing! Good job guys
  • Fedeconomist 401 days ago
    love it! Sign me up :)
    • baristaGeek 401 days ago
      Thanks! Hope we're adding value
  • arnobio 401 days ago
    [dead]