CJP Civic-Tech · Project 03

Resilient Skill Guild

Learn by building real things. Every cohort graduate's portfolio is built on live open-source code that's already deployed.

5 active cohorts
214 graduates to date
68% placement rate
4 guild masters

Skill Tracks

Five tracks, six weeks each. No entry requirements — just commitment and a working internet connection.

Track 01

Python & Data Analysis

6-Week Curriculum

  • Week 1 — Python fundamentals, Pandas, NumPy basics
  • Week 2 — Data cleaning: real MLA affidavit CSVs
  • Week 3 — Visualisation with Matplotlib and Chart.js
  • Week 4 — Web scraping: ECI and FCRA portals
  • Week 5 — Building a data pipeline with GitHub Actions
  • Week 6 — Ship: publish your dataset + interactive chart

Tools Used

  • Python 3.11, Pandas, Matplotlib
  • Node.js for automation scripts
  • GitHub Actions for scheduled jobs
  • Vercel for static data dashboards
  • OpenRefine for structured data cleaning
Entry: None — just Python installed on your machine

What You'll Build

A live SwarmAudit data pipeline: Python scripts that pull constituency-level civic failure reports, clean and aggregate by ward, and auto-publish a monthly JSON feed used by the main SwarmAudit map. Your script runs on GitHub Actions every 24 hours.

Track 02

UI/UX Design

6-Week Curriculum

  • Week 1 — Design thinking, accessibility fundamentals, WCAG basics
  • Week 2 — Figma: wireframes and component libraries
  • Week 3 — Information architecture for data-heavy civic UIs
  • Week 4 — Colour, typography, dark/light theming in CSS variables
  • Week 5 — User testing: recruit and run 3 sessions with real volunteers
  • Week 6 — Ship: present redesigned SwarmAudit report flow

Tools Used

  • Figma (free tier)
  • HTML & CSS (vanilla)
  • Colour contrast checkers, screen readers
  • GitHub for design file versioning
  • Loom for async user-test recordings
Entry: None — bring curiosity, not a portfolio

What You'll Build

A full Figma component library and three RTI Swarm infographic templates — one for budget discrepancy reports, one for RTI non-response summaries, one for contractor data. Templates are published under CC-BY-SA and used by every RTI Swarm volunteer.

Track 03

Technical Writing

6-Week Curriculum

  • Week 1 — Docs-as-code: Markdown, Git, writing for engineers
  • Week 2 — API documentation: how to write a good README
  • Week 3 — Civic journalism: translating RTI responses for general readers
  • Week 4 — Structured explainers: the inverted pyramid for data stories
  • Week 5 — Writing under constraint: 300 words, one stat, one human story
  • Week 6 — Ship: publish 3 pieces on RTI Swarm's public docs site

Tools Used

  • Markdown + GitHub Pages
  • Notion for outlining
  • Hemingway Editor for clarity
  • SwarmAudit and RTI Swarm source docs
  • CC licensed government datasets
Entry: None — you just need to be able to write clearly

What You'll Build

Three published explainer pieces for RTI Swarm: a contributor guide, a plain-language breakdown of one real RTI response, and an onboarding doc for new SwarmAudit reporters. All merged into the public GitHub repo — publicly citable.

Track 04

Video & Media Production

6-Week Curriculum

  • Week 1 — Mobile-first shooting: lighting, audio, framing on a phone
  • Week 2 — Editing with DaVinci Resolve (free): cuts and pacing
  • Week 3 — Motion graphics: simple data animations in Canva and After Effects
  • Week 4 — Short-form storytelling: 60-second explainer structure
  • Week 5 — Multi-language localisation: subtitling and voiceover
  • Week 6 — Ship: 2 published RTI explainer videos on the CJP channel

Tools Used

  • DaVinci Resolve (free)
  • Canva Pro (subsidised via guild)
  • CapCut for mobile edits
  • YouTube Studio + Vimeo
  • Any Android/iOS smartphone
Entry: None — a working phone camera is sufficient

What You'll Build

Two 60–90 second explainer videos for RTI Swarm: one translating a real government RTI response into an accessible Bengali-language video, one visualising SwarmAudit's Civic Failure Index data. Both published publicly under the CJP channel.

Track 05

DevOps & Infrastructure

6-Week Curriculum

  • Week 1 — Git workflows: branches, PRs, code review etiquette
  • Week 2 — GitHub Actions: writing your first CI pipeline
  • Week 3 — Static hosting: Vercel, Cloudflare Pages, GitHub Pages
  • Week 4 — Monitoring and alerting: uptime checks, error logging
  • Week 5 — Security basics: secrets management, dependency audits
  • Week 6 — Ship: migrate SwarmAudit's staging environment to a zero-cost stack

Tools Used

  • Git + GitHub
  • GitHub Actions YAML
  • Vercel CLI, Cloudflare Pages
  • UptimeRobot (free tier)
  • Dependabot + Snyk (free tier)
Entry: Comfort with a terminal — nothing else required

What You'll Build

A full CI/CD pipeline for SwarmAudit: automated lint checks, data validation, sitemap regeneration, and Vercel preview deployments on every PR. Your YAML files go directly into the SwarmAudit repository as merged pull requests.

Current Cohorts — Cohort 3

All five tracks are running simultaneously. Cohort 3 started 28 April 2026 — currently Week 3 of 6.

Python & Data

Data Analysis Track

Mentor: Aditya Venkatesan · @adi_builds 28 Apr 2026 → 9 Jun 2026
Enrolled: 10 / 12 students

Progress — Week 3 of 6

3 weeks completed · 3 remaining

Current Sprint Sprint 3: Building the automated ward-level scraper for SwarmAudit's civic failure feed
Sprint 3 Board — Python & Data Cohort
Done
Set up ECI portal scraper skeleton using Node built-ins PR #47 · github.com/cjp-civic/swarm-audit
Done
Write data validation schema for ward-level reports JSON PR #49 · github.com/cjp-civic/swarm-audit
In Progress
Add deduplication logic: skip reports within 500m GPS radius PR #51 (open) · github.com/cjp-civic/swarm-audit
To Do
Connect scraper output to GitHub Actions cron job Issue #52 · assigned to cohort
UI/UX Design

Design Track

Mentor: Meenakshi Iyer · @meena_ux 28 Apr 2026 → 9 Jun 2026
Enrolled: 11 / 12 students

Progress — Week 3 of 6

3 weeks completed · 3 remaining

Current Sprint Sprint 3: Building the map filter component UI for SwarmAudit — district and category selectors
Sprint 3 Board — UI/UX Design Cohort
Done
Figma wireframes: map filter panel (desktop + mobile) Figma file v3 · shared in Discord
Done
CSS variable token sheet for SwarmAudit dark/light theme PR #38 · github.com/cjp-civic/swarm-audit
In Progress
Accessibility audit: WCAG AA contrast check on all filter states PR #40 (open) · github.com/cjp-civic/swarm-audit
To Do
User test with 3 volunteer testers — record via Loom Issue #41 · scheduled 25 May
Technical Writing

Writing Track

Mentor: Supriya Ghosh · @supriya_writes 28 Apr 2026 → 9 Jun 2026
Enrolled: 9 / 12 students

Progress — Week 3 of 6

3 weeks completed · 3 remaining

Current Sprint Sprint 3: Translating the Hooghly municipal RTI response into a 400-word public explainer
Sprint 3 Board — Technical Writing Cohort
Done
Contributor guide for RTI Swarm (v1) — merged to main docs PR #12 · github.com/cjp-civic/rti-swarm-docs
Done
Plain-language breakdown of the Hooghly water supply RTI PR #14 · github.com/cjp-civic/rti-swarm-docs
In Progress
SwarmAudit onboarding guide — first draft under review PR #16 (open) · github.com/cjp-civic/swarm-audit
To Do
Bengali translation of the RTI explainer (co-authored) Issue #18 · unassigned
Video & Media

Media Track

Mentor: Farhan Siddiqui · @farhan_edits 28 Apr 2026 → 9 Jun 2026
Enrolled: 8 / 12 students

Progress — Week 3 of 6

3 weeks completed · 3 remaining

Current Sprint Sprint 3: Animating the Civic Failure Index data — bar chart motion sequence in Canva
Sprint 3 Board — Video & Media Cohort
Done
60-second RTI explainer script (Murshidabad water supply case) Doc shared in Discord · reviewed by mentor
Done
B-roll shoot: Murshidabad ward 7 infrastructure footage Footage uploaded to shared Drive · approved
In Progress
First cut edit + Canva motion graphic overlay DaVinci project file · due 22 May
To Do
Bengali voiceover record and subtitle sync Issue #09 · assigned to cohort pair
DevOps & Infra

Infrastructure Track

Mentor: Aditya Venkatesan · @adi_builds 28 Apr 2026 → 9 Jun 2026
Enrolled: 7 / 12 students

Progress — Week 3 of 6

3 weeks completed · 3 remaining

Current Sprint Sprint 3: Writing the SwarmAudit CI pipeline — lint, validate, and Vercel preview on every PR
Sprint 3 Board — DevOps & Infra Cohort
Done
Write ci.yml: HTMLHint + stylelint on push to feature branches PR #61 · github.com/cjp-civic/swarm-audit
Done
Configure Dependabot for weekly dependency audits PR #63 · github.com/cjp-civic/swarm-audit
In Progress
Add Vercel preview URL comment bot to PR workflow PR #65 (open) · github.com/cjp-civic/swarm-audit
To Do
UptimeRobot alerting: Slack webhook on 5-minute downtime Issue #67 · awaiting Slack workspace setup

Guild Graduate Portfolios

Cohort 1 and 2 graduates. Every contribution listed here is a publicly verifiable merged PR or published file.

Ritika D.

Python & Data · Cohort 2 · Mar 2026

Merged PR: SwarmAudit ward aggregation script Merged PR: ECI constituency data scraper Published: Civic Failure Index v1 dataset

47 commits · 3 merged PRs

Hired

Anmol S.

UI/UX Design · Cohort 1 · Oct 2025

Designed: RTI infographic template library (CC-BY) Merged PR: SwarmAudit dark mode token sheet Figma: SwarmAudit report form redesign

12 commits · 2 merged PRs · 1 published design system

Freelancing

Tanvir H.

DevOps & Infra · Cohort 2 · Mar 2026

Merged PR: SwarmAudit CI/CD pipeline (ci.yml) Merged PR: Cloudflare Pages zero-cost hosting setup Configured: UptimeRobot + Slack alerting for RTI Swarm

31 commits · 4 merged PRs

Hired

Lakshmi P.

Technical Writing · Cohort 1 · Oct 2025

Published: RTI Swarm contributor guide (1,200 words) Published: SwarmAudit reporter onboarding doc Merged PR: API documentation for report ingestion endpoint

18 commits · 3 merged PRs

Job Searching

Debashish M.

Video & Media · Cohort 2 · Mar 2026

Published: 2 RTI explainer videos (Bengali) — 18k views Published: Civic Failure Index data animation reel Designed: CJP reusable motion graphic template pack

2 published videos · 1 motion template pack

Freelancing

Pooja R.

Python & Data · Cohort 1 · Oct 2025

Merged PR: MLA asset declaration diff parser Published: Constituencies JSON feed for Bengal Reader Merged PR: GitHub Actions data-refresh pipeline

53 commits · 5 merged PRs

Hired

Guild Masters

Four senior practitioners from industry who lead cohorts on a volunteer basis. No academic credential required — only a verified portfolio.

Aditya Venkatesan

Full-Stack & Open Source

@adi_builds · 6 yrs experience

Python Node.js GitHub Actions

Active cohorts: 2 (Python & DevOps)

Former SDE-2 at Freshworks, now independent. Built three open-source civic data tools adopted by Tamil Nadu state NGOs. Believes the best portfolio item is one that's already in production.

Find @adi_builds in the #guild-mentors channel on the CJP Civic-Tech Discord server. Introduce yourself with your track and skill level.

Meenakshi Iyer

UI/UX & Accessibility

@meena_ux · 5 yrs experience

Figma WCAG CSS Systems

Active cohorts: 1 (UI/UX Design)

Product designer at a Bengaluru civic-tech startup. Previously designed the UI for a state government grievance portal used by 2 million citizens. Specialises in low-bandwidth, mobile-first interfaces for Indian networks.

Find @meena_ux in the #guild-mentors channel on the CJP Civic-Tech Discord server. Introduce yourself with your track and skill level.

Supriya Ghosh

Civic Journalism & Docs

@supriya_writes · 8 yrs experience

Technical Writing RTI Law Bengali Journalism

Active cohorts: 1 (Technical Writing)

Investigative journalist who spent five years at a Kolkata-based digital newsroom covering municipal governance. Has filed over 200 RTI applications and won one first-appeal case at the State Information Commission. Trains writers to make data human.

Find @supriya_writes in the #guild-mentors channel on the CJP Civic-Tech Discord server. Introduce yourself with your track and skill level.

Farhan Siddiqui

Video Production & Media

@farhan_edits · 7 yrs experience

DaVinci Resolve Motion Graphics Short-form Video

Active cohorts: 1 (Video & Media)

Senior editor at a digital video journalism studio. Has produced explainer content for three major Indian fact-checking organisations and trained 40+ freelance editors on mobile-first production workflows for under-resourced newsrooms.

Find @farhan_edits in the #guild-mentors channel on the CJP Civic-Tech Discord server. Introduce yourself with your track and skill level.

How It Works

Three steps from application to a public portfolio of shipped work.

01
Apply

Fill the Waitlist Form

Choose your track above and fill in the waitlist form. No CV, no portfolio, no experience required. Just your name, a GitHub handle (optional), and two sentences on why you want in. Every applicant gets a response within 48 hours.

02
Get Matched

Discord Onboarding

You'll receive a Discord invite link and be matched to your cohort's channel. Your mentor posts the Week 1 brief on Day 1. The cohort meets async — no mandatory video calls, no fixed schedule. Work at your pace, ship by the sprint deadline.

03
Build & Graduate

6 Weeks, Real Deliverable

Six weeks of structured sprints. Every week has a defined deliverable. Graduation requires at least one merged PR or published file in the live project. Your public GitHub profile does the rest — every recruiter can verify every contribution, no interview needed.

Resilient Skill Guild is a proposed open-source peer learning programme under the CJP civic-tech framework. It is not a registered institution and does not issue accredited qualifications. Placement figures reflect self-reported outcomes from Cohort 1 and 2 graduates. Mentor bios are illustrative of the programme's intended practitioner profile. All project contributions are made to public open-source repositories under MIT or CC-BY-SA licences. This page does not constitute a binding offer of employment or training.