Canvas–Notion Sync

Chrome Extension | September 2025 - Present

JavaScript Chrome APIs AES-GCM Encryption REST APIs
← Back to Portfolio

Overview

Canvas–Notion Sync is a Chrome extension that automatically synchronizes Canvas assignments into Notion on a 30-minute schedule. It bridges two popular productivity tools to streamline student workflow.

This project demonstrates proficiency in external API integration, encryption, reliability engineering, and building tools that integrate seamlessly with existing workflows.

Key Features

Automated Sync

Fetches Canvas assignments every 30 minutes and automatically syncs them to Notion without manual intervention.

AES-GCM Encryption

Implements AES-GCM encryption to protect sensitive data like API keys and credentials stored locally.

Rate Limiting

Engineered robust rate limiting (25 req/s burst, ~10 req/s sustained) to respect API limits and prevent throttling.

Retry & Backoff

Implements intelligent retry strategies: 429 Retry-After headers, 409 exponential backoff, limited 5xx retries.

Error Handling

Comprehensive error states with console logging and user-friendly UI error messages for debugging.

Conflict Resolution

Reduces sync conflicts with batching and sequential fallback strategies.

Technical Highlights

Reliability Engineering

This project showcases production-grade reliability practices: rate limiting respects API constraints, retry/backoff strategies handle transient failures gracefully, and observability (logging + error states) enables debugging.

Security

Implements AES-GCM encryption for sensitive data at rest, protecting API keys and user credentials from unauthorized access.

User Experience

Focuses on transparent operation: UI error states inform users of issues, batching reduces conflicts, and sequential fallback ensures data integrity even when APIs are overloaded.

What I Learned

Links