Skip to projects
← all projects

AI-Powered Developer Intelligence Platform

DevPulse

Connects to your GitHub, turns your commit/PR history into insights, and — via its flagship OS Finder — ranks open-source repos by how friendly they are to new contributors. A three-service Dockerized monorepo with real-time sync and three distinct AI features.

View on GitHubLive deploy pending — full Dockerized monorepo on GitHub.

The problem

GitHub knows everything about how you code but tells you almost nothing useful about it, and finding a realistic open-source project to contribute to is mostly guesswork. DevPulse closes both gaps: it mines your own activity for patterns and surfaces perfectly-matched repos scored on real contributor-friendliness signals — not just star counts.

Architecture & approach

  1. A monorepo of three independent services orchestrated via Docker Compose: a Next.js 14 frontend, a NestJS 11 backend, and a Python/Flask analytics microservice, over PostgreSQL 15 and Redis 7.

  2. GitHub OAuth 2.0 through Passport.js issues short-lived JWT access tokens (15m) plus refresh tokens (7d) with silent refresh; each user's GitHub token is stored encrypted with crypto-js.

  3. A sync engine pulls repos, commits and PRs from the GitHub REST API on a node-cron schedule (every 6h), while Socket.IO streams live sync progress to the dashboard; the Flask service computes commit patterns and language distribution behind the heatmaps and streak charts.

  4. OpenRouter (GPT-4o-mini) powers three AI features: weekly markdown activity digests, automatic 1–10 PR quality scoring on every synced PR, and OS Finder's natural-language → structured-filter query builder — which falls back to regex keyword matching on a 15s timeout.

  5. OS Finder, the flagship, ranks GitHub search results by a custom NCF (New Contributor Friendliness) score out of 10 — weighing good-first-issues, maintainer response time, CONTRIBUTING.md, PR merge rate and more — alongside repo-health flags (archived, stale, fork-heavy), with per-language parallel search and Redis-cached results.

  6. Persistence is PostgreSQL via TypeORM with migrations run on startup; the watchlist stores each repo's full NCF breakdown as jsonb, and search history is retained for reuse.

Stack

  • NestJS
  • Next.js
  • TypeScript
  • PostgreSQL
  • TypeORM
  • Redis
  • Socket.IO
  • Passport.js
  • JWT
  • OpenRouter
  • node-cron
  • Python
  • Flask
  • Docker