Inspiration

The inspiration behind this project is my use of open-source software and obsession with bleeding age. I got really excited when ty by astral was announced, only for it not to work with my daily drivers (helix / zed), which inspired me to make a monitoring framework for github, capable of sending me digests of what's happening with the repositories, as well as immediate digests based on keywords / prompts.

What it does

The user is able to add GitHub repositories to their tracked list, and get daily / weekly digests of the merged changes that the repositories gets, summarized by AI. Furthermore, as it was in my case, you're able to specify alerts such as "let me know when ty [the LSP] works with helix [the editor]" using natural language. Upon merging a commit the content of which matches the alert, the user gets an email notification for that particular commit.

How we built it

The project is primarily built with Bolt, planned with Perplexity, and manually polished (css mostly). As a "backend" the project uses Supabase edge functions [which communicate with OpenAI API and Resend API) and database (both edge functions, schemas, and migrations are generated by bolt), alongside some cron jobs (on Supabase) to keep the fetching going. The project was deployed on Netlify with a domain bought via Entri. It also has stripe and revenue cat integrated, however, it is currently unused. Initially, the project was planned to be built via Svelte, however, (it looks like) Bolt specializes in React, so that's what we stuck with.

Challenges we ran into

I guess the biggest challenge that I ran into was towards the end of the project [the issue could've been avoided by shrinking the context window, however, I did not want to move repositories and re-set some of the integrations]. Towards the end, every change that Bolt did, for some reason, completely rewrote the entire dashboard each time, so I had to do polishing and badge adding manually later. That said, the overall vibe coding experience with Bolt has exceeded my expectations, the Supabase integration is insanely good, and giving Bolt the context of the app alongside the schemas and edge functions (once again, through the Supabase integration) has made the development a breeze. I was able to quickly try things out, without the tension of sinking the app to the database and edge function schemas.

Accomplishments that we're proud of

Firstly, I'm really proud of how sleek the interface looks, and how nicely it is curated for mobile devices. The attention to details with things such as an Apple Shortcut for mobile devices, special Safari tags for better immersion, and the overall brand identity that Bolt has built around GitOversee is immaculate. Building up on that, I'm proud of the project idea and user interaction as a whole; firstly, the project just runs in the background, sending you alerts whenever you'd like, without forcing the user to get on the website daily, and secondly, the flow of adding new git repositories (whether it is through changing the domain name or using the Apple shortcut) is seamless. Even if the project won't get used by other people, I'm happy to add another entry to my tool set of automations I use on the daily.

What we learned

I was previously very skeptical of tools that position themselves as being able to produce whole apps just from the prompts, however, Bolt's great performance was definitely a surprise. I will keep using Bolt for quick iteration and prototyping over infinitely planning (shout out that one Theo video on his experience with engineering team on Twitch). Realization of importance of context size was also a huge takeaway. I had to start fighting with some of the tooling because the context was getting too big.

What's next for GitOversee

Currently, GitOversee is in a working state, with enough daily OpenAI and Supabase credits to run about ~500 repositories. Depending on how popular the project may get, there are (currently unimplemented) ways to reduce processing costs and (increase) speeds, which were omitted in the name of getting the prototype out. However, if it is clear that there is interest in the project, I will adjust the repository limits accordingly, and introduce subscription tiers so that the project can run seamlessly for power-users without me going into debt. I will definitely keep optimizing the email layout / overall user experience so that you can get everything sharp and quick, alongside introducing more components (like commit summaries) to the dashboard itself. We obviously have to add different providers such as GitLab or GitTea as well.

Built With

Share this project:

Updates