Inspiration
Joining a new codebase is one of those experiences every developer knows: an outdated README, a sprawling file tree, and hours lost just figuring out where anything lives before you can make your first real contribution. We wanted to see if Gemini could compress that "getting oriented" phase from days into minutes — reading a repo's structure the way an experienced teammate would, and explaining it back in plain language.
What it does
DevPulse takes any public GitHub repo URL and gives you:
- An architecture overview — what the project does and how it's organized
- Key entry points — the handful of files worth reading first
- A getting-started guide — concrete steps to run the project locally, inferred from the README and file structure
- A suggested first contribution — a realistic, low-risk task for a newcomer
- An open issues panel — pick any issue and Gemini suggests which files are likely relevant to fixing it, based on the repo's structure
How we built it
The frontend is React (Vite), styled with a custom dark "signal monitor" theme built around an animated pulse-line motif tied to the product name. The backend is a set of serverless functions deployed on Vercel: one set of functions calls the GitHub REST API to pull repo metadata, file trees, README content, and open issues; another passes that structural data to Gemini (gemini-3.5-flash) with two distinct prompts — one for architecture/onboarding synthesis, one for issue-to-file triage. Everything runs live, no pre-processing or caching — every analysis is a fresh read of the actual repo.
Challenges we ran into
Model availability changed mid-build — the model we started with was deprecated for new API keys partway through, so we had to swap to the current generation model. We also hit a genuinely useful scare: GitHub's push protection caught a Gemini API key that had been accidentally committed locally before it ever reached a public repo, which meant rebuilding git history cleanly and rotating the key. Balancing prompt size against GitHub's file tree limits (some repos have thousands of files) was its own puzzle — we settled on filtering out noise (lockfiles, build output, binaries) before it ever reaches Gemini, to keep prompts fast and relevant.
Accomplishments that we're proud of
Getting a real, working Gemini integration — not a mock — end to end: live GitHub data in, structured markdown guidance out, in a single click. We're also proud of catching the leaked API key before it went public, and treating that as a fixable mistake rather than a crisis.
What we learned
That the "boring" parts of building — git hygiene, environment variables, model deprecation cycles — eat as much time as the AI integration itself, and are just as worth getting right. Also, prompting an LLM to reason over a file tree it can't fully read (no file contents, just paths) turned out to produce surprisingly useful, honestly-hedged suggestions when asked to say so explicitly when uncertain.
What's next for DevPulse
- Let Gemini read actual file contents (not just paths) for higher-confidence issue triage
- Cache analyses so repeat visitors to the same repo don't re-trigger a full Gemini call
- Support private repos via GitHub OAuth
- A lightweight "PR readiness" check that flags whether a proposed fix likely touches the right files before you even open a pull request
Built With
- ai
- code-analysis
- css3
- gemini-api
- github-api
- github-rest-api
- google-gemini
- html5
- javascript
- node.js
- open-source
- react
- serverless
- vercel
- vite
Log in or sign up for Devpost to join the conversation.