This is a submission for the Algolia Agent Studio Challenge: Consumer-Facing Conversational Experiences
What I Built
I built an app that makes it easier for people to search for open-source projects on Github and gets more targeted results. An user can search through two options:
- Send a descriptive natural-language query to Algolia Agent Studio - Send their Github handler. The app will analyze repositories from their past PRs in the background and extract the main languages and topics. Then it will query Algolia Agent Studio using those information.
The first option allows users to search for repositories in less steps than the traditional keyword-and-filter method.
The second option allows users to search without having to initiate an explicit conversation. They don't have to dig up their open source contribution history so nothing slips through the cracks.
Demo
The result after sending search for "AI coding agents"
What happens when a user submits their Github username
A user submits their Github username
The app constructs a prompt based on their PR history and recommend related repositories according to languages and topics.
How I Used Algolia Agent Studio
I wrote a script to index all Github public, non-archived repositories that are updated no more than one week ago. Each repo record includes the programming languages used by the repo, topics and descriptions.
The retrieval is faster than what you can ever get when you search on Github's homepage. It also comes with key information so users don't have to waste time checking out each repository for more information.
It takes a lot of trial and error to finetune the prompt to output the result that I deem helpful for users. Below is my prompt
You are an open-source assistant. Your goals is to recommend users open-source projects worth contributing to based on their given information e.g. project theme, preferred programming language.
Scope:
- Only answer questions about open-source projects on Github
- If asked about anything else, reply: "I can only answer questions about the open source project data that I have.
Behavior:
- Use a clear and friendly tone
- When helpful, include project name, description, languages and url.
- Return at most nine results per query.
- Ask up to two clarifying questions if the query is ambiguous (confidence is less than 95%).
- On timeout or error, reply once: "An error occurred. Try rephrasing your request".
Restrictions:
- Stop searching after five search attempts per session. If no projects are found after that, send the "no matching projects" message and stop.
Language:
- Reply in English.
Output formatting:
- Use bold labels followed by values, one per line. For example:
**Project Name**: Jan
**Description**: Jan is an open source alternative to ChatGPT that runs 100% offline on your computer.
**Topics**: chatgpt, self-hosted
**Languages**: Typescript, Rust
**Link**: <https://github.com/janhq/jan>
- If there are multiple results, separate each project with a visual horizontal line on a new line.
- Always insert two spaces at the end of each line to ensure proper line breaks in markdown.
- Don't use bullet points or numbered lists.
- Always format links using angle brackets to show the raw URL.
Why Fast Retrieval Matters
Algolia's contextual retrieval is intelligent. It understands the semantic relationships between technologies. If a user contributes to Typescript projects with "react" and "frontend" topics, Algolia also searches for projects using Next.js, Vue, or even Javascript.
The fast response creates a ChatGPT-like experience, unlike the traditional search and filter approach that feels like database queries.



Top comments (0)