Migrate from Heroku and get up to $10k in credits

Get started

Trender

Deploy Trender on Render to track trending GitHub repos with parallel workflows and a 3-layer analytics pipeline.

Why deploy trender on Render?

Trender is a distributed analytics platform that tracks trending GitHub repositories across multiple programming languages. It uses Render Workflows for parallel processing and a 3-layer data pipeline to aggregate and analyze repository popularity data efficiently.

This template connects a Next.js dashboard, Python workflow service, and cron trigger to a managed Postgres database with a pre-configured 3-layer analytics schema (raw → staging → analytics). Render Workflows handle parallel execution of the four GitHub analyzers, so you skip building your own job orchestration. One-click deploy wires up all service dependencies and database connections—you just provide your GitHub credentials and Render API key.

Architecture

What you can build

After deploying, you'll have a live dashboard that tracks trending GitHub repositories across Python, TypeScript, Go, and Render-specific projects, updated daily via a scheduled cron job. The system runs four parallel analyzers that score approximately 100 repositories per day using a momentum algorithm that weights recent activity and star count. Your data is stored in a PostgreSQL database with automatic retention policies, so storage costs stay predictable.

Key features

  • Parallel Workflow Tasks: Uses Render Workflows SDK to execute 4 concurrent analyzer tasks (Python, TypeScript, Go, Render) processing ~100 repos per run.
  • 3-Layer Data Pipeline: Implements Raw (JSONB) → Staging (validated) → Analytics (dimensional model) layers with tiered retention policies (7/7/30 days).
  • Momentum Scoring Algorithm: Calculates trending repos using 70% recency weight with exponential decay for ≤14 day old repos plus 30% normalized star count.
  • Async GitHub API Integration: Uses aiohttp and asyncpg for non-blocking GitHub API calls and PostgreSQL operations across distributed workflow tasks.
  • Dual Auth Support: Supports both Personal Access Tokens (simple) and OAuth with encrypted token storage and automatic daily refresh via cron job.

Use cases

  • DevRel manager tracks emerging open source projects across multiple languages weekly
  • Platform team monitors which repositories are adopting Render for deployment
  • Engineering lead discovers trending Go libraries before they become mainstream
  • Developer advocate identifies high-momentum TypeScript projects for blog content

What's included

Service
Type
Purpose
trender-dashboard
Web Service
Application service
trender-wf
workflow
Application service
trender-cron
Cron Job
Application service
trender-db
PostgreSQL
Primary database

Prerequisites

  • GitHub Personal Access Token: A personal access token from GitHub used to authenticate API requests for fetching repository data.
  • Render API Key: An API key from your Render account used to trigger workflows programmatically.
  • Render Workflow Slug: The unique identifier (slug) for your Render workflow, typically 'trender-wf' for this template.

Next steps

  1. Open your dashboard URL and check the analytics page — You should see empty charts with no data yet, confirming the Next.js frontend is connected to your PostgreSQL database
  2. Trigger the first workflow run by navigating to your trender-cron service in the Render dashboard and clicking 'Trigger Run' — You should see the workflow start in the Logs tab, with 4 parallel tasks (Python, TypeScript, Go, Render) processing ~100 repos total within a few minutes
  3. Refresh the dashboard after the workflow completes — You should see trending repositories populated across all four language tabs with momentum scores, star counts, and historical trend charts

Resources

Stack

python
NextJS
postgres
workflows