Sylva-Alter — Project Story
Inspiration
The same bug gets debugged from scratch by three different developers in three different months. The first dev spends countless hours understanding the problem, fixes it, and the knowledge dies with the Slack thread. Six weeks later, a teammate hits the exact same wall, unaware of the prior knowledge about this issue.
We built Sylva-Alter because we were tired of paying the rediscovery tax.
What it does
Sylva-Alter is a developer plugin for Visual Studio Code that builds a semantic memory for engineering teams. When a developer gets stuck, they paste their code and describe the problem. The plugin:
- Extracts the abstract pattern — strips away variable names and business logic, leaving a reusable description of the underlying failure (e.g. "Making a separate trip to the car for every single grocery bag instead of using a cart to bring them all in at once.").
- Searches team history semantically — encodes the pattern as a 768-dimensional vector and finds the nearest match across every problem the team has ever recorded, regardless of how it was worded.
- Deduplicates intelligently — high similarity triggers an AI judgment call: is this a new instance of an existing pattern (→ merge) or a distinct problem (→ keep)?
- Surfaces real fixes — each ticket holds developer-authored solutions with a code snippet and explicit pros/cons, so the next person sees not just the pattern but how colleagues actually solved it.
How we built it
Google Gemini handles extraction and embedding. A gemini-flash-lite-latest call abstracts the raw code into a pattern description; gemini-embedding-2 encodes it into a $\mathbb{R}^{768}$ vector using RETRIEVAL_DOCUMENT task type for storage and RETRIEVAL_QUERY for search — a distinction that measurably improves recall.
MongoDB Atlas stores the vectors and runs ANN search via a cosine similarity index. Candidates scoring above $0.85$ are forwarded to a second Gemini call that makes the final MERGE/KEEP judgment — vector similarity alone is not enough.
Challenges we ran into
Getting the extraction model to truly ignore business logic was harder than expected — early prompts returned descriptions like "bug in the user dashboard" which useless for matching. The deduplication threshold (0.85) also required careful calibration: too low collapses distinct problems, too high misses the same pattern across different languages.
Building a full-stack application was also a challenging task, as no one on the team had done it before.
Accomplishments that we're proud of
We have been able to build a system capable of extracting semantic information about problems engineers encounter, and relating them to issues with similar solutions.
We have also been able to implement it as a reasonably intuitive and convenient tool which can be used in a real environment.
What we learned
Most significantly, we have developed our problem-solving skills, improved our ability to work in a team, and, given the fast-paced nature of the event, we have also learnt to work better under pressure.
What's next for Sylva-Alter
- Implementation into other IDEs - export the plugin to other platforms so it can reach a broader public.
- Auto-generated runbooks — synthesise top-rated solutions into a structured guide when a ticket accumulates enough data.
- Inter-team competition - add a ranking mechanic where peers compete against each other to find the best solutions for problems others encounter. A competitive environment in the workplace can keep everyone motivated and improve efficiency.
Log in or sign up for Devpost to join the conversation.