Inspiration

Every product team knows the pain of writing release notes. It is usually a manual, tedious task done late at night before a launch. Product managers have to dig through issue trackers, translate highly technical developer tickets into something users can actually understand, and then summarize it all for leadership. We realized that since the context already exists inside these tools, we could use large language models to completely automate this workflow and save teams hours of manual labor.

What it does

PatchNote connects directly to your existing workflow tools like Linear using secure OAuth. You simply select a date range, and the application fetches every ticket marked as completed within that timeframe. It then feeds this raw data into Google Gemini to generate three distinct versions of your release notes. It creates a friendly user changelog, a highly technical developer summary with details on breaking changes, and a high level executive summary. Finally, it hosts these release notes on a beautifully formatted, public facing page.

How we built it

We built the frontend and backend using the Next.js App Router and deployed it on Vercel. For authentication, we implemented Clerk to handle secure user sessions and route protection. Our database is powered by Supabase PostgreSQL, which securely stores user generated changelogs and workspace tokens. The core logic relies on the Linear SDK to fetch completed issues and the Google Gemini API to parse the unstructured ticket data into clean, formatted markdown. We also integrated Novus analytics for tracking public page engagement.

Challenges we ran into

Integrating the Linear OAuth flow securely within the Next.js architecture required careful handling of server side redirects and token storage. Another major challenge was ensuring the Gemini API returned strictly structured JSON instead of loose text. We had to heavily engineer the system prompt and implement fallback parsing logic to strip out stray markdown blocks that would otherwise crash our frontend. Finally, designing a cohesive dark mode interface that looked premium without relying on generic utility classes took several iterations of CSS tuning.

Accomplishments that we're proud of

We are incredibly proud of how seamless the user experience feels. The moment a user connects their workspace, they can generate a professional release note document in under ten seconds. Getting the Gemini model to accurately distinguish between technical jargon meant for developers and plain English meant for end users was a huge win. We are also proud of the clean, server side rendered public pages that are instantly ready to be shared with customers.

What we learned

We deepened our understanding of the latest Next.js features, especially how to optimize server components and handle middleware proxying. We also learned how powerful modern LLMs are at context translation. Instead of just summarizing text, we learned how to instruct Gemini to act as three different personas simultaneously to create highly targeted content from a single data source.

What's next for PatchNote

We plan to expand our integrations to support Jira, Asana, and GitHub pull requests. We also want to add automated Slack notifications so that whenever a changelog is generated, it automatically posts the executive summary to a team channel. Finally, we aim to introduce custom branding options so companies can host their release notes on their own custom domains.

Built With

Share this project:

Updates

posted an update

  • Fixed Vercel serverless function timeouts that were preventing Gemini AI from generating the changelogs in production.
  • Fixed a database sorting bug with the Linear OAuth flow so the backend always uses the freshest valid access token.
  • Added the Novus AI web SDK to the global layout to successfully map the codebase and track user journeys securely.
  • Cleaned up the codebase and finalized the project.

Log in or sign up for Devpost to join the conversation.