Inspiration
SyncLayer was inspired by a problem we saw in organizations with many teams working in parallel: people often build the same thing twice without knowing it. A team may decide in a meeting to create a CSV importer, report exporter, booking engine, or webhook idempotency layer, while another team has already implemented something similar in a different GitHub repository.
What it does
SyncLayer connects meeting conversations with GitHub activity to detect duplicated work, hidden dependencies, and cross-team conflicts. It analyzes what teams say in meetings and compares it with what teams are building in pull requests, commits, and changed files.
For example, if Team Delta says they will build an Excel/PDF report exporter, and Team Alpha already has a PR implementing a reusable report exporter, SyncLayer flags it as a duplication risk.
How we built it
We built SyncLayer as a pipeline:
[ \text{Meetings} + \text{GitHub Repos} \rightarrow \text{Structured Entities} \rightarrow \text{Semantic Matching} \rightarrow \text{Conflicts} ]
First, meeting transcripts are converted into structured entities such as decisions, plans, dependencies, and concerns. Then, GitHub repositories are extracted into a structured format containing pull request titles, descriptions, commit messages, changed files, and embedding-ready text.
After that, SyncLayer compares the extracted entities using semantic similarity and classifies the results into conflict types such as duplicated work, hidden dependencies, or incompatible decisions.
First, meeting transcripts are converted into structured entities such as decisions, plans, dependencies, and concerns. Then, GitHub repositories are extracted into a structured format containing pull request titles, descriptions, commit messages, changed files, and embedding-ready text.
After that, SyncLayer compares the extracted entities using semantic similarity and classifies the results into conflict types such as duplicated work, hidden dependencies, or incompatible decisions.
Challenges we ran into
The biggest challenge was that teams often describe the same thing using different words. One team may say "booking engine," another may say "appointment slot system," and another may say "cita manager." Simple keyword matching is not enough.
Another challenge was creating realistic demo data. We needed repositories and meeting transcripts that felt like real cross-team work, not artificial examples. We solved this by generating multiple GitHub repositories representing different teams working for different clients.
Accomplishments that we're proud of
We are proud that SyncLayer can detect realistic duplication across different teams and repositories. The system does not just compare files; it connects meetings, pull requests, commit messages, and technical context.
We also built a reusable GitHub extraction flow that turns repository activity into structured data, making it easy to analyze real repositories and not just static demo files.
What we learned
We learned that many coordination problems are semantic, not technical. The issue is not only that code exists somewhere; it is that another team may not know it exists, or may describe the same problem in a completely different way.
We also learned how important it is to design a good pipeline: prompts alone are not enough. A useful system needs extraction, structured data, embeddings, filtering by team, and clear conflict explanations.
What's next for SyncLayer
Next, we want SyncLayer to support more sources such as Slack, Jira, Linear, and historical documentation. We also want to improve the dashboard so teams can explore conflicts visually, understand why they were detected, and assign follow-up actions.
Longer term, SyncLayer could become a knowledge layer for companies: a system that helps teams discover existing work before they start building something new.
Built With
- and-github-api-integrations.-the-backend-handles-extraction
- and-graph-generation
- anthropicapi
- assemblyai
- claude-via-anthropic-api
- conflict-classification
- css
- embeddings
- faiss
- fastapi
- githubapi
- networkx
- plotly
- pydantic
- pygithub
- python
- pyvis
- semantic-matching
- sentence-transformers
- slack-sdk
- slacksdk
- streamlit
- typescript
Log in or sign up for Devpost to join the conversation.