DEV Community

What My GitHub Profile Taught Me About Building With Gemini

I was at a GFG x Google Build with AI Camp, looking at my own GitHub profile, and it hit me that it said almost nothing about who I am. Green squares, a couple of pinned repos, a bio nobody reads. So I built something to fix that, both for me and for anyone else stuck with the same flat, static profile.

The GitHub Dev Card Generator takes any public GitHub username and turns it into a custom profile card, a short AI-written summary of what that person actually builds. It's generated by looking at their repos, commit history, and language mix. Not a template with a name dropped in. A new write-up and layout every time.

How it works

An agent built on Google's Agent Development Kit calls Gemini 2.5 Flash Lite. It pulls a user's public repos through the GitHub API, reads the language breakdown and repo activity, and writes the card's HTML and copy from scratch. No fixed layout, no fill-in-the-blank fields.

The backend is Python and FastAPI, wired into the ADK's MCP framework. The frontend is a small Vite and React app that just renders whatever the agent hands back. Both sides are containerized and deployed on Cloud Run as separate services, an API and a static frontend, talking to each other through an environment variable set at deploy time.

The part that actually took time

Getting a language model to reliably output clean, working HTML is harder than it sounds. Early runs gave me cards with broken CSS, missing closing tags, or a layout that looked fine for one profile and fell apart on the next. I ended up spending more time on prompt structure and validating the output than on the model call itself. The AI call turned out to be the easy part. Everything wrapped around it, error handling, rate limits, containerizing two services so they'd actually talk to each other, took longer.

Rate limiting was its own problem. Scrape a GitHub profile without a personal access token and you get throttled fast, so the token isn't optional in this project, it's a required environment variable.

Why I'm writing about this now

I registered for the Gen AI Academy APAC Edition this cohort, and one thing that stuck with me from the program is how open "the solution" is allowed to be. It doesn't have to solve hunger or fix a supply chain. It can be a tool that makes something small, like a developer's first impression, a little better. That's what this project was for me: a way to actually build an AI agent end to end instead of just calling an API and printing the response.

It's live on GitHub now, MIT licensed, open for anyone to fork or point at their own profile. If you're building something for this cohort too, I'd like to see it.

Repo: https://github.com/Chaitanyabt/github-card-generator

Top comments (0)