Technical architecture and flow for engineers
React-based UI where users select slides and configure GIF options (delay, quality, repeat). Makes API calls to generate GIFs.
Next.js API route that handles authentication, fetches slide thumbnails from Google Slides API, caches them in Google Cloud Storage, and orchestrates the GIF generation by calling the png2gif service.
Separate Express.js service deployed on Cloud Run that handles the actual GIF generation. Downloads cached images from GCS, converts them to a GIF, and uploads the result back to GCS.
Stores cached slide thumbnails and generated GIFs. Thumbnails are cached to reduce API calls and improve performance.
Provides access to presentation metadata and slide thumbnails. Supports three thumbnail sizes: SMALL (200×112), MEDIUM (800×450), and LARGE (1600×900).