Skip to content

SamiraSamrose/pulse

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pulse: The Autonomous Corporate Memory & Knowledge Graph

An AI-powered knowledge management system that automatically builds a knowledge graph from corporate data streams including GitHub, Stack Overflow and internal communications.

Pulse eliminates the hours developers waste searching for "who knows how this works" by automatically building a knowledge graph from all engineering communications. When you ask a question, it synthesizes answers from GitHub commits, Slack decisions and Jira tickets with source citations. The system detects conflicts before they reach production by comparing your code changes against recent architectural decisions.

Target audience and operation overview

Engineering teams at companies with 50+ developers where knowledge is distributed across multiple platforms. Developers use the command palette for quick searches, the AI assistant for detailed explanations and receive automatic conflict alerts. Engineering managers generate debt reports to prioritize refactoring and review collaboration matrices for team planning. The system operates continuously, scraping data sources hourly and updating the knowledge graph in real-time.

Links

Features

  • Real-time GitHub Archive ingestion and analysis
  • AI-powered knowledge graph construction
  • RAG-based question answering system
  • Architectural debt detection and reporting
  • Team collaboration analysis
  • Conflict detection and notifications
  • Progressive web dashboard with Bento Grid layout
  • Command palette for quick access
  • Real-time WebSocket updates
  • Vector similarity search with pgvector

Architecture

Backend (Serverpod)

  • GitHub Archive data processing with hourly scraping
  • Knowledge graph management with PostgreSQL
  • Vector embeddings for semantic search
  • Analytics engine for code metrics
  • WebSocket support for real-time updates
  • Background job scheduling with Future Calls

Frontend (Flutter)

  • Bento Grid dashboard layout with StaggeredGridView
  • Command palette with search-as-you-type
  • Glassmorphism UI with BackdropFilter
  • Shimmer loading states
  • Adaptive layouts for desktop and mobile
  • Dynamic theming with material color utilities
  • Real-time notification system

Technology Stack

Languages: Dart

Frameworks: Flutter, Serverpod

Technologies: WebSocket, REST API, Vector Search, Graph Database

Libraries: serverpod_flutter, flutter_staggered_grid_view, lucide_icons, shimmer, rive, material_color_utilities, intl, shared_preferences, url_launcher, provider, http, postgres, vector_math

Tools: Docker, Docker Compose

Services: GitHub Archive API, Stack Exchange API, Slack API, Jira REST API

APIs: GitHub Archive REST API, Stack Overflow REST API, Jira Cloud REST API, Slack Web API, HuggingFace Inference API

AI/Models: Sentence Transformers (all-MiniLM-L6-v2), Retrieval-Augmented Generation (RAG), Cosine Similarity

Database: PostgreSQL with pgvector extension

Data Integrations: GitHub Archive (public event stream), Stack Overflow Open Data, Enron Email Dataset, Slack workspace messages, Jira project data

Datasets: GitHub Archive hourly JSON files, Stack Exchange data dumps, Enron corpus (500k emails), live Slack channel history

Setup

Prerequisites

  • Docker and Docker Compose
  • Flutter SDK 3.0+
  • Dart SDK 3.0+

Installation

  1. Clone the repository

  2. Start the backend services:

docker-compose up -d
  1. Run database migrations:
cd pulse_server
dart run serverpod generate
  1. Start the Serverpod backend:
dart run bin/main.dart
  1. Run the Flutter app:
cd ../pulse_flutter
flutter run

Data Sources

  • GitHub Archive: Real-time public GitHub events
  • PostgreSQL with pgvector: Knowledge storage and vector search
  • Redis: Caching and session management

Key Components

Backend Services

  • GitHubService: Fetches and processes GitHub Archive data
  • KnowledgeGraphService: Manages knowledge nodes and vector embeddings
  • RAGService: Retrieval-Augmented Generation for AI queries
  • AnalyticsService: Generates insights and reports
  • ConflictDetectionService: Detects potential code conflicts

Frontend Widgets

  • DashboardScreen: Main Bento Grid layout
  • CommandPalette: Global search and actions
  • AIAssistantDrawer: Chat interface with RAG
  • ProjectPulseCard: Live project metrics
  • HotspotsCard: Code complexity visualization
  • TeamCollaborationCard: Collaboration patterns

API Endpoints

GitHub

  • GET /github/recent-events - Fetch recent GitHub events
  • GET /github/project-pulse/:repo - Get project activity summary
  • GET /github/hotspots/:repo - Identify code hotspots

Knowledge

  • POST /knowledge/query - Query knowledge base with RAG
  • GET /knowledge/search - Search knowledge nodes
  • GET /knowledge/graph/:nodeId - Get node graph structure
  • GET /knowledge/evolution - View evolution timeline

Analytics

  • GET /analytics/debt-report/:repo - Architectural debt analysis
  • GET /analytics/team-collaboration/:repo - Team collaboration metrics
  • GET /analytics/daily-summary/:repo/:date - Daily activity summary

Notifications

  • GET /notifications/active - Get active notifications
  • POST /notifications/mark-read/:id - Mark notification as read
  • WS /notifications/watch - WebSocket stream for real-time updates

Functionalities

Knowledge Graph Construction: Automatically ingests GitHub events, Stack Overflow questions, email threads and Slack decisions to build a semantic knowledge graph with nodes and weighted edges.

Vector Embeddings: Generates 384-dimensional embeddings for all knowledge nodes using sentence transformers, stored in PostgreSQL with pgvector for efficient similarity search.

RAG Query System: Retrieves relevant context from the knowledge graph using vector similarity and keyword matching, then constructs detailed answers with source citations.

Conflict Detection: Analyzes recent architectural decisions and file modification patterns to alert developers about potential conflicts before code commits.

Code Hotspot Analysis: Identifies files with high change frequency and multiple contributors, calculating complexity scores based on churn and collaboration metrics.

Team Collaboration Mapping: Builds collaboration matrices showing which developers work on shared files, revealing team interaction patterns.

Architectural Debt Reporting: Calculates technical debt scores from code churn, complexity hotspots and test coverage, providing recommendations.

Evolution Timeline: Tracks how technical decisions and implementations evolved over time by querying knowledge nodes within date ranges.

Command Palette: Provides search-as-you-type functionality with real-time suggestions from the backend, supporting natural language queries.

Background Scraping: Runs hourly jobs using Dart isolates to fetch GitHub Archive data, process JSON in parallel and generate embeddings asynchronously.

Real-time Notifications: Streams conflict alerts and system updates to Flutter clients via WebSocket connections.

External Integrations: Creates Jira tickets from detected conflicts, posts Slack notifications about issues and ingests Slack threads as knowledge.

Adaptive UI: Renders bento grid layouts with responsive breakpoints, glassmorphism effects and platform-specific interactions (hover states, haptic feedback).

Graph Traversal: Implements BFS for shortest path finding between knowledge nodes and calculates centrality metrics for identifying key concepts.

Search Caching: Stores query results in PostgreSQL with expiration times to optimize repeated searches.

License

MIT License

About

The Autonomous Corporate Memory & Knowledge Graph

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors