Inspiration

What it does

How we built it

Challenges we ran into

Accomplishments that we're proud of

What we learned

What's next for ReleaseIQ

Inspiration

Every team ships dozens of merged PRs a week, and someone has to answer the same questions: what actually changed, what do we tell customers, which fixes matter to support. That work is manual and from memory. ReleaseIQ turns it into a query.

What it does

Point it at a repo's merged PRs. An agent summarizes and classifies every PR (feat / fix / perf / docs / chore / breaking, and customer vs internal), embeds it as a 1536-dim vector, and stores it in Amazon Aurora PostgreSQL with pgvector (HNSW cosine). On top of that store: semantic search over "what changed and why," and auto-generated, audience-aware release notes.

How we built it

  • Frontend / deploy: Next.js 15 (App Router) on Vercel.
  • Database (the AWS half of the stack): Amazon Aurora PostgreSQL + pgvector 0.8, provisioned through the Vercel AWS Marketplace integration.
  • AI: Google Vertex AI — gemini-2.5-flash for summarize/classify, gemini-embedding-001 for 1536-dim embeddings.
  • Keyless on both halves: Aurora authenticates with short-lived AWS IAM tokens over Vercel OIDC federation — no connection string. The model provider authenticates the same way: a service-account JWT signed locally, exchanged for a short-lived OAuth token. No static credentials in the request path.

Challenges we ran into

Vercel-managed Aurora's query editor is read-only, so the schema DDL had to run through the app's own writable IAM connection. Vertex's OpenAI-compatible embeddings ignore the dimensions param, so embeddings go through the native :predict API with outputDimensionality=1536 to match the vector(1536) schema.

Accomplishments

A fully keyless path to both halves of the stack (AWS Aurora via IAM/OIDC, Vertex AI via locally-signed SA JWT); a live, reproducible end-to-end demo; a production-grade provider layer (retry/backoff, Retry-After, single-flight token minting, batched embeddings); and 118 tests, CI-gated at 80% coverage.

What we learned

The most interesting engineering wasn't the AI — it was making credentials disappear. Both the database and the model provider authenticate without a stored secret in the request path. That is the real "zero stack" story: zero stored credentials, short-lived tokens minted on demand.

What's next

A v0-generated UI surfacing search + release notes, webhook-driven incremental ingest on merge, Aurora DSQL evaluation, and multi-repo dashboards.

AWS Database used: Amazon Aurora PostgreSQL (with pgvector). Live: https://releaseiq.vercel.app

Built With

Share this project:

Updates