DEV Community

Mohit Upadhyay
Mohit Upadhyay

Posted on

🚀 Building OSSI — An AI-Powered Open Source Intelligence System with Kestra

Transforming GitHub issues into contributor intelligence using AI + Workflow Orchestration

Open source projects are growing faster than ever.

Every day repositories receive:

  • Bug reports
  • Feature requests
  • Contributor discussions
  • Engineering questions
  • Documentation improvements
  • Infrastructure problems

But there’s a major challenge:

Maintainers are overwhelmed.

Important issues get buried.
Contributors struggle to find meaningful tasks.
Stale issues pile up.
Project health slowly declines.

So I built:

OSSI — Open Source Signal Intelligence System

An AI-powered orchestration platform built using Kestra that transforms GitHub repositories into actionable contributor intelligence.

🔗 GitHub Repository:
https://github.com/Mohit5Upadhyay/ossi-intel-orchestrator


🧠 What is OSSI?

OSSI stands for:

Open Source Signal Intelligence System

It’s an autonomous workflow orchestration platform that:

✅ Monitors GitHub repositories
✅ Fetches live GitHub issues
✅ Detects stale issues
✅ Uses AI to analyze engineering complexity
✅ Prioritizes issues automatically
✅ Recommends contributor actions
✅ Generates intelligence reports
✅ Sends automated engineering summaries via email
✅ Runs continuously on schedules using Kestra

Instead of manually reading hundreds of issues, OSSI creates an intelligent engineering layer over open-source repositories.


🤔 Why Does OSSI Matter?

Open source maintainers deal with a serious scaling problem.

As repositories grow:

  • Issue backlogs explode
  • Contributors become confused
  • Duplicate issues increase
  • Stale tickets accumulate
  • Prioritization becomes difficult

And contributors face problems too:

Contributors struggle with:

  • Finding beginner-friendly issues
  • Understanding issue complexity
  • Knowing project priorities
  • Discovering impactful tasks
  • Understanding technical context

OSSI solves this by turning repositories into structured engineering intelligence systems.


⚡ What OSSI Actually Does

The workflow continuously scans repositories and transforms raw GitHub data into actionable insights.

Example Intelligence Generated

OSSI automatically identifies:

  • High-priority issues
  • Beginner-friendly tasks
  • Advanced engineering problems
  • Potential stale issues
  • Contributor recommendations
  • Root cause analysis
  • Suggested implementation steps

Example AI-generated output:

Priority: High

Difficulty: Intermediate

Good First Issue: Yes

Root Cause:
Missing validation layer causing inconsistent API responses.

Quick Fix Approach:
1. Add schema validation
2. Implement middleware checks
3. Add automated tests
Enter fullscreen mode Exit fullscreen mode

This turns raw GitHub issues into contributor-ready engineering tasks.


🚀 Why Kestra Was the Perfect Choice

This entire system is powered by Kestra.

And honestly — Kestra completely changed how I think about automation.

Most automation tools feel like:

  • Task runners
  • Cron jobs
  • Simple scripting systems

But Kestra feels like:

  • Infrastructure orchestration
  • Workflow operating systems
  • AI pipeline orchestration
  • Distributed automation architecture

🔥 What Makes Kestra Powerful

1️⃣ Everything is Declarative

The entire orchestration pipeline is written in YAML.


2️⃣ Built-in Scheduling

OSSI runs every 6 hours automatically.

triggers:
  - id: scheduled_ossi_scan
    type: io.kestra.plugin.core.trigger.Schedule

    cron: "0 */6 * * *"

    timezone: "Asia/Kolkata"
Enter fullscreen mode Exit fullscreen mode

No external schedulers needed.


3️⃣ Parallel Processing

OSSI processes repositories dynamically using ForEach.

- id: process_repositories
  type: io.kestra.plugin.core.flow.ForEach

  values: "{{ inputs.repositories }}"
Enter fullscreen mode Exit fullscreen mode

This allows multi-repository intelligence generation.


4️⃣ Native API Integrations

Kestra makes API orchestration incredibly easy.

Example GitHub issue fetching:

- id: fetch_open_issues
  type: io.kestra.plugin.core.http.Request

  method: GET

  uri: "{{ vars.github_api }}?q=repo:{{ taskrun.value }}+is:issue+is:open"

  headers:
    Authorization: "Bearer {{ inputs.github_pat }}"
Enter fullscreen mode Exit fullscreen mode

This is extremely clean compared to building everything manually.


5️⃣ AI Workflow Orchestration

One of the most powerful parts:

Kestra orchestrates AI systems beautifully.

OSSI sends repository issue data into AI models for:

  • Engineering analysis
  • Contributor recommendations
  • Priority ranking
  • Root cause reasoning
  • Issue classification

This is where orchestration becomes much more than automation.


🏗️ OSSI Workflow Architecture

Here’s the full orchestration pipeline:

graph TD
    A[Schedule Trigger] --> B[Process Repositories]
    B --> C[Fetch GitHub Issues]
    C --> D[Process Issue Data]
    D --> E[AI Contributor Analysis]
    E --> F[Generate Intelligence Report]
    F --> G[Send Email Report]
    G --> H[Workflow Completed]
Enter fullscreen mode Exit fullscreen mode

🔍 Deep Dive Into the Workflow


1️⃣ Workflow Trigger

The workflow starts automatically every 6 hours.

triggers:
  - id: scheduled_ossi_scan
    type: io.kestra.plugin.core.trigger.Schedule

    cron: "0 */6 * * *"

    timezone: "Asia/Kolkata"
Enter fullscreen mode Exit fullscreen mode

This transforms OSSI into a continuously running intelligence system.


2️⃣ Processing Multiple Repositories

OSSI supports multiple repositories dynamically.

inputs:

  - id: repositories
    type: ARRAY
    itemType: STRING
Enter fullscreen mode Exit fullscreen mode

Example repositories:

defaults:
  - "kestra-io/kestra"
  - "open-metadata/OpenMetadata"
Enter fullscreen mode Exit fullscreen mode

3️⃣ GitHub Issue Intelligence

The workflow fetches live issues directly from GitHub APIs.

- id: fetch_open_issues
  type: io.kestra.plugin.core.http.Request

  method: GET

  uri: "{{ vars.github_api }}?q=repo:{{ taskrun.value }}+is:issue+is:open"
Enter fullscreen mode Exit fullscreen mode

This creates a real-time engineering data stream.


4️⃣ Data Processing Using Shell + jq

After fetching issues, OSSI processes repository data.

commands:
  - |
    cat repo_issues.json | jq -r '
      .items[]
      | "
      Issue:
      #\(.number)

      Title:
      \(.title)
      "
    '
Enter fullscreen mode Exit fullscreen mode

This stage transforms raw API responses into structured engineering summaries.


5️⃣ Stale Issue Detection

OSSI automatically identifies neglected issues.

select(.comments < 2)
Enter fullscreen mode Exit fullscreen mode

This helps maintainers:

  • Reduce backlog clutter
  • Improve issue hygiene
  • Re-engage contributors

Small automation.
Massive operational value.


6️⃣ AI Contributor Analysis

This is the brain of OSSI.

The workflow sends issue summaries into an AI model.

- id: ai_contributor_analysis
  type: io.kestra.plugin.core.http.Request
Enter fullscreen mode Exit fullscreen mode

The AI then generates:

  • Contributor recommendations
  • Priority analysis
  • Root cause insights
  • Engineering reasoning
  • Suggested implementation steps

This turns GitHub into an intelligent engineering platform.


7️⃣ 📧 SMTP Email Configuration

After generating intelligence reports, OSSI automatically delivers them using SMTP email orchestration.

Kestra makes email automation extremely clean.

Workflow email task:

- id: contributor_intelligence_email
  type: io.kestra.plugin.email.MailSend

  host: smtp.gmail.com

  port: 465

  username: "YOUR_USER_EMAIL_HERE"

  password: "YOUR_APP_PASSWORD_HERE"

  from: "YOUR_USER_EMAIL_HERE"

  to: "RECIPIENT_EMAIL_HERE"

  subject: "🚀 OSSI Intelligence Report"

  transportStrategy: SMTPS
Enter fullscreen mode Exit fullscreen mode

The workflow automatically sends:

AI contributor insights
Engineering summaries
Issue prioritization
Repository intelligence
Stale issue detection reports

directly into your inbox.

8️⃣ 🤖 GitHub Models Configuration

OSSI uses GitHub Models to generate contributor intelligence automatically.

The workflow sends processed GitHub issue summaries into gpt-4o using Kestra's HTTP orchestration capabilities.

Actual workflow configuration:

- id: ai_contributor_analysis
  type: io.kestra.plugin.core.http.Request

  method: POST

  uri: "https://models.inference.ai.azure.com/chat/completions"

  headers:
    Content-Type: application/json
    Authorization: "Bearer {{ inputs.github_pat }}"

Model configuration:

{
  "model": "gpt-4o",
  "temperature": 0.2,
  "top_p": 1.0
}
Enter fullscreen mode Exit fullscreen mode

The AI model performs:

Issue prioritization
Contributor recommendations
Root cause analysis
Engineering impact analysis
Difficulty classification
Beginner issue detection

This transforms OSSI into an autonomous engineering intelligence system instead of just a monitoring workflow.


9️⃣ Automated Email Intelligence Reports

🔐 Gmail SMTP Setup

To enable email delivery:

Enable 2-Factor Authentication on your Google account
Generate a Google App Password:
https://myaccount.google.com/apppasswords

Then replace:

username: "YOUR_USER_EMAIL_HERE"

password: "YOUR_APP_PASSWORD_HERE"

with your actual credentials.

This allows OSSI to autonomously deliver engineering intelligence reports after every workflow execution.

Finally, OSSI sends beautifully structured engineering reports directly to maintainers.

The report contains:

  • Repository intelligence
  • Contributor insights
  • Engineering priorities
  • Issue recommendations
  • AI-generated analysis

All automatically orchestrated through Kestra.


🖥️ Setting Up OSSI Locally

Now let’s actually run it.


🐳 Step 1 — Run Kestra with Docker

Download the official Kestra Docker Compose file.

Linux/macOS

curl -o docker-compose.yml \
https://raw.githubusercontent.com/kestra-io/kestra/develop/docker-compose.yml

Windows
Invoke-WebRequest -Uri "https://raw.githubusercontent.com/kestra-io/kestra/develop/docker-compose.yml" -OutFile "docker-compose.yml"
Enter fullscreen mode Exit fullscreen mode

Once the file is downloaded, start Kestra using:

docker compose up -d
Enter fullscreen mode Exit fullscreen mode

🧩 Step 2 — Import the OSSI Workflow

Clone the repository:

git clone https://github.com/Mohit5Upadhyay/ossi-intel-orchestrator
Enter fullscreen mode Exit fullscreen mode

Open Kestra UI.

Go to:

  • Flows
  • Create Flow
  • Paste YAML workflow

Save the workflow.

Done.


🔐 Step 3 — Configure GitHub Token & Email Config

Generate GitHub PAT:
https://github.com/settings/tokens

Required permissions:

  • repo

Then configure:

  • github_pat
  • recipient_email

inside workflow inputs.


▶️ Step 4 — Execute Workflow

Run the workflow manually OR wait for the schedule trigger.

Kestra will now:

  • Fetch issues
  • Analyze repositories
  • Generate intelligence
  • Send reports

autonomously.


📊 Kestra’s Visualization is Incredible

One thing I absolutely loved:

Workflow Topology View

Kestra visualizes:

  • Task relationships
  • Dependencies
  • Execution structure
  • Processing stages

This becomes extremely useful for complex orchestration systems.


⏱️ Live Execution Tracking

Kestra also provides:

  • Gantt execution charts
  • Runtime visibility
  • Retry monitoring
  • Failure tracking
  • Execution logs

This makes debugging workflows much easier.


🧠 What I Learned Building OSSI

This project taught me something important:

AI becomes MUCH more powerful when combined with orchestration.

Without orchestration:

  • AI is isolated

With orchestration:

  • AI becomes infrastructure

That realization completely changed my engineering mindset.


🚀 Why Developers Should Learn Workflow Orchestration

If you're interested in:

  • AI Engineering
  • DevOps
  • Automation
  • ETL Systems
  • AI Agents
  • Distributed Systems
  • Event-driven architectures
  • Data pipelines

then orchestration is a critical skill.

And Kestra is one of the best tools I’ve used for learning it.


💡 Projects You Can Build Using Kestra

After building OSSI, I realized Kestra can orchestrate almost anything.

Some ideas:

  • AI code review systems
  • Autonomous CI/CD intelligence
  • DevOps monitoring pipelines
  • AI documentation generators
  • Security analysis workflows
  • Multi-agent AI systems

Once you start thinking in orchestration pipelines —
you begin engineering systems differently.


🔥 Why OSSI Matters for Open Source

OSSI is not just automation.

It’s:

  • Contributor enablement
  • Engineering intelligence
  • Repository analytics
  • AI-powered prioritization
  • Open source acceleration

It helps:

  • Maintainers scale better
  • Contributors onboard faster
  • Communities stay healthier
  • Engineering efforts become focused

And I think systems like this will become increasingly important for the future of open source.


🛠️ Technologies Used

Core Stack

  • Kestra
  • GitHub API
  • GitHub Models
  • YAML
  • Shell Scripting
  • jq
  • SMTP Automation

Concepts

  • Workflow orchestration
  • AI pipelines
  • ETL processing
  • Contributor intelligence
  • Scheduled automation
  • Engineering analytics

🔗 Project Links

GitHub Repository

https://github.com/Mohit5Upadhyay/ossi-intel-orchestrator

Kestra

https://kestra.io

Kestra GitHub

https://github.com/kestra-io/kestra


🎯 Final Thoughts

Before this project, I thought automation meant:
“running scripts automatically”

Now I think of orchestration as:
“building autonomous engineering systems”

OSSI started as a workflow experiment.

But it evolved into:

  • AI infrastructure
  • contributor intelligence
  • engineering automation
  • orchestration architecture

And honestly...

This feels like just the beginning of AI-powered workflow systems.

If you’re learning:

  • AI Engineering
  • Automation
  • DevOps
  • Workflow Systems
  • Open Source Infrastructure

Build orchestration projects.

They teach you how real engineering systems operate.

And Kestra is an incredible place to start.

🚀

Top comments (0)