gitwtfhub

wtf is quickcal?

vanshjain99/quickcal — explained in plain English

Analysis updated 2026-05-18

0MDXAudience · vibe coderComplexity · 3/5Setup · moderate

TL;DR

Uploads a photo or file of your class schedule and uses AI to turn it into events on a separate Google Calendar.

Mindmap

mindmap
  root((QuickCal))
    What it does
      Reads schedule images
      Extracts events with AI
      Syncs to Google Calendar
    Tech stack
      Astro frontend
      FastAPI backend
      Gemini API
    Use cases
      Class timetables
      Appointment sheets
      Recurring events
    Audience
      Students
      Vibe coders
      Privacy conscious users

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Why would anyone build with this?

REASON 1

Turn a screenshot of a class timetable into recurring Google Calendar events

REASON 2

Convert a PDF or Excel schedule into a color-coded calendar without manual entry

REASON 3

Keep timetable events isolated in a dedicated calendar you can wipe and rebuild each term

What's in the stack?

AstroTailwind CSSFastAPIPythonPandasGemini API

How it stacks up

vanshjain99/quickcalchenkumi/opencode-project-paneldevagarwal2/mistral-workflow-proj
Stars000
LanguageMDXMDXMDX
Setup difficultymoderatemoderatehard
Complexity3/52/54/5
Audiencevibe coderdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you spin it up?

Difficulty · moderate Time to first run · 30min

Needs a Gemini API key and a Google OAuth client ID to run both the backend and frontend.

Wtf does this do

QuickCal is a web utility that turns a photo, PDF, or spreadsheet of a weekly timetable or class schedule into events on your Google Calendar. You upload a screenshot, image, PDF, or Excel file of your schedule, the tool reads it, and you get a chance to check and edit the details before anything is added to your calendar. Under the hood, QuickCal uses Google's Gemini 3.1 Flash-Lite model to read the layout of the schedule image, figuring out course or event names, days, times, and locations, and it also tries to come up with a sensible name for the whole schedule (something like "B.Tech CSE Sem 8"). It can tell the difference between types of sessions such as lecture, practical, and tutorial, and it colors them differently in the calendar so they are easy to tell apart at a glance. There is also a light and dark theme that switches automatically depending on whether you are on a desktop or a phone. Once you review the extracted events in an editable workspace, where you can add, change, or delete entries, QuickCal signs you into Google through the standard Google sign-in flow and creates a separate calendar just for these events, rather than touching your main calendar. This means you can wipe or refresh the schedule at any time without affecting anything else in your Google Calendar. The project has two parts: an Astro and Tailwind CSS frontend deployed on Cloudflare Pages, and a FastAPI backend written in Python that handles the AI extraction and talks to the Google Calendar API. The README states that uploaded documents and schedule data are not stored, and there is a simple contact form for support questions that does not require setting up a backend inbox.

Yoink these prompts

Prompt 1
Help me set up the QuickCal backend locally and add my Gemini API key to the .env file
Prompt 2
Walk me through connecting Google Identity Services OAuth so QuickCal can sync to my Google Calendar
Prompt 3
Explain how QuickCal's Gemini prompt parses a timetable image into structured event data
Prompt 4
Show me how to add a new event category and color mapping to QuickCal's calendar sync logic

Frequently asked questions

wtf is quickcal?

Uploads a photo or file of your class schedule and uses AI to turn it into events on a separate Google Calendar.

What language is quickcal written in?

Mainly MDX. The stack also includes Astro, Tailwind CSS, FastAPI.

How hard is quickcal to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is quickcal for?

Mainly vibe coder.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.