$ show ccfddl/ccf-deadlines
This repository is a multi-platform conference deadline tracking ecosystem centered on CCF (China Computer Federation) rankings, also covering CORE and THCPL. The primary production system is a Rust/Leptos web application compiled to WebAssembly and served as a static site (ccfddl.com), providing interactive filtering, countdowns, timezone conversion, favorites, calendar subscriptions, and email reminders. A Cloudflare Worker backend handles GitHub OAuth authentication, D1 SQLite database for user data (stars, message wall, email reminders), and serves a Model Context Protocol (MCP) endpoint for AI agent integration. Additional clients include a Python CLI, a Chrome extension (Manifest V3), and an iCal/RSS feed generator. The data layer consists of curated YAML files for conference metadata and historical acceptance rates, which are validated, merged, and transformed into JSON by a Python build pipeline. The repository also includes a static SEO page generator, a deterministic social media posting skill for X/Twitter, and agent skills for AI-assisted data maintenance. While the core value is the curated conference data, the dominant character is a software application with multiple user-facing interfaces and a serverless backend.
The LLM identified 5 files worth highlighting for reuse:
Central build script that reads all conference YAML files, validates structure, merges with acceptance rates, and outputs partitioned JSON files (initial, archive, acceptance buckets) for efficient frontend loading. Implements FNV-1a hashing for bucket distribution and handles timezone normalization. Could be extracted and adapted for any YAML-based data catalog project with minimal changes.
Email reminder system that builds personalized digests of upcoming deadlines, renders HTML with unsubscribe tokens, and sends via Resend API with idempotency guarantees. Includes timezone-aware grouping, daily digest scheduling, and rate limiting. The pattern of building email content from structured data with unsubscribe handling is reusable across notification systems.
Self-contained JavaScript module that draws conference deadline share cards on a canvas element, producing images suitable for social media. Handles text layout, countdown formatting, and responsive sizing. Could be extracted for any project needing programmatic social card generation from structured data.
Manages a headless Chrome browser process for offline rendering of share cards, including DevTools port detection, process lifecycle, and cleanup. Provides a reusable pattern for any project that needs to render web content to images or PDFs using a real browser engine.
Deterministic pipeline for publishing daily deadline digests to X/Twitter. Implements git-pinned snapshot provenance, star-count verification with SHA-256 hashing, weighted text/card generation, and a persistent publication ledger for idempotency. The ledger pattern (check/reserve/confirm) and strict freshness enforcement make this a robust template for any automated content publishing system.