Project Info
Inspiration
Have you ever received a concert flyer or a graphical timeline, hoping to add it to your calendar, but finding it too tedious to add them event to event. This is the exact problem we are inspired by and want to solve.
What it does
What KronAI does is it drastically simplifies this workflow by combining every action into one click. All you need to do is take a picture, screenshot, or upload from gallery, and KronAI will take care of the scheduling for you. But KronAI is more than that. Utilizing Perplexity and ChromaDB, KronAI's scheduling assistant can capture the nuances of your schedule just like your own personal secretary!
How we built it
We built the software using Next.js, integrating with Gemini, Perplexity, Google Calendar, and Chromadb. Oauth is used for login.
Challenges we ran into
We ran into challenges when we tried to integrate APIs such as Google's OAuth and calendar.
Accomplishments we're proud of
We are proud that when we talk to people about our idea, many people say they experience the exact problem we are solving and say that they would love to use a product like this. This means we are working in the right direction, and we are proud to work on something that solve the little inconveniences in life.
What we learned
We learned a lot about the process of how to integrate the APIs we used into our application.
What's next
The benefit of speed and easy calendar integration can be leveraged in the healthcare space as patients who are trying new medications like during the adhd process or for diseases or antibiotics. By scanning their prescription box and officially adding health to their productivity calendar, they can see when to take their medications alongside other priorities. More technically, integration with G-mail to autodetect events and convert into bite sized todo lists or boost action over information via push notifs can be helpful. Potentially turning into a personal executive assistant for students and for you page with events near you in a tinder like fashion based on what can fit or requires adjusting your schedule.
KronAI (CalHacks 11.0)
Inspiration
Have you ever received a concert flyer or a graphical timeline, hoping to add it to your calendar, but finding it too tedious to add them event to event. This is the exact problem we are inspired by and want to solve.
What it does
What KronAI does is it drastically simplifies this workflow by combining every action into one click. All you need to do is take a picture, screenshot, or upload from gallery, and KronAI will take care of the scheduling for you. But KronAI is more than that. Utilizing Perplexity and ChromaDB, KronAI's scheduling assistant can capture the nuances of your schedule just like your own personal secretary!
How we built it
We built the software using Next.js, integrating with Gemini, Perplexity, Google Calendar, and Chromadb. Oauth is used for login.
Challenges we ran into
We ran into challenges when we tried to integrate APIs such as Google's OAuth and calendar.
Accomplishments that we're proud of
We are proud that when we talk to people about our idea, many people say they experience the exact problem we are solving and say that they would love to use a product like this. This means we are working in the right direction, and we are proud to work on something that solve the little inconveniences in life.
What we learned
We learned a lot about the process of how to integrate the APIs we used into our application.
What's next for KronAI
Integration with G-mail to autodetect events and schedule events automatically.
Analysis
View
Metric
- 42
- 19
- 16
- 14
Figures cover GitHub contributors during the hackathon window. A co-authored commit counts in full for each author, so per-member totals add up to more than the whole-team figures.
Technology
- Google GeminiIn code
- JavaScriptIn code
- Next.jsIn code
- OpenAIIn code
- ReactIn code
- Tailwind CSSIn code
- TypeScriptIn code
7 of 7 appear in the indexed code.
AI coding agents
No AI coding agent signals were found in this repository.
Detected from committed agent config files and commit authorship. Absence of a signal is not proof an agent was unused.
Codebase size
Source size
875 KB
Source files
20
Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.
Repository
Preellis/CalHacks11
41 files · 1.3 MB · @ d97d13f
Structure
Interface
15 files · 37%Screens, components and styles rendered to the user.
API & routing
5 files · 12%Request entry points: routes, handlers and controllers.
Application logic
5 files · 12%Domain rules, services and shared utilities.
Supporting
Layers are inferred from where files sit in the tree, not from reading the code. A project that names its directories unconventionally will read oddly here — open the file browser to check anything the diagram implies.
Languages
- JavaScript97%
- TypeScript3%
- Markdown0%
Share of indexed source by file size. Binary and vendored files are excluded.
Dependencies
schedulr/package.json
npm · 48- @deepgram/sdk
- @google-cloud/storage
- @google/generative-ai
- @mantine/carousel
- @mantine/core
- @mantine/dates
- @mantine/dropzone
- @mantine/hooks
- @mantine/modals
- @mantine/nprogress
- @mantine/spotlight
- @react-oauth/google
- @tabler/icons-react
- @xenova/transformers
- axios
- base64-arraybuffer
- chromadb
- chromadb-default-embed
- +30 more
Declared in the repository’s manifests at the indexed commit. A declared package is not proof it is used, and runtime dependencies are listed first.
Feature verification
ChromaDB personal memory/context storeVerified
Utilizing ChromaDB, KronAI's scheduling assistant can capture the nuances of your schedule just like your own personal secretary
Claimed on Devposthigh confidenceschedulr/src/app/api/chroma/add-memory/route.ts:14— Adds user chat messages as documents to a per-user ChromaDB collection using a Gemini embedding functionschedulr/src/app/api/chroma/get-context/route.ts:23— Queries the user's ChromaDB collection for relevant memory context, used to enrich event details
Conversational chat assistant for schedulingVerified
KronAI's scheduling assistant acts like a personal secretary via chat
Claimed on Devpostmedium confidenceschedulr/src/app/chat/page.tsx:15— handleSendMessage pipes user input through Chroma memory storage/retrieval and Gemini to detect events vs. conversation, then calls eventEnhancer to add detected events to the calendar
Gemini-based image parsing into calendar event JSONVerified
KronAI uses Gemini to parse an event image into structured event data
Claimed on readmehigh confidenceschedulr/src/app/api/gemini/image-to-calendar/route.ts:15— Calls Gemini 1.5 Flash generateContent with the image and a prompt instructing it to return event JSON (eventname, start, end, location, etc.)
Google Calendar event creationVerified
Integrates with Google Calendar to add events automatically
Claimed on readmehigh confidenceschedulr/src/utils/eventEnhancer.ts:55— POSTs the constructed event object to https://www.googleapis.com/calendar/v3/calendars/primary/events using the user's OAuth access token
Google OAuth loginVerified
OAuth is used for login
Claimed on readmehigh confidenceschedulr/src/app/page.tsx:16— Uses useGoogleLogin from @react-oauth/google with calendar.events and userinfo.profile scopes, fetches userinfo to get a unique user ID, and stores the token in a jotai atom
Next.js application built with Gemini, Perplexity, Google Calendar, ChromaDB integrationVerified
We built the software using Next.js, integrating with Gemini, Perplexity, Google Calendar, and Chromadb
Claimed on readmehigh confidenceschedulr/package.json— Next.js project with dependencies on @google/generative-ai, chromadb, openai (used for Perplexity), and @react-oauth/google, matching the claimed tech stack
Perplexity-based web context enrichmentVerified
Utilizing Perplexity, KronAI's scheduling assistant can capture the nuances of your schedule
Claimed on Devposthigh confidenceschedulr/src/app/api/perplexity/route.ts:21— Calls Perplexity's llama-3.1-sonar-small-128k-online model via the OpenAI-compatible client to fetch web context for an event queryschedulr/src/utils/eventEnhancer.ts:22— eventEnhancer calls /api/perplexity and feeds the result into the event-filling prompt sent to Gemini
One-click capture (photo/screenshot) to calendar eventCode-supported
Take a picture, screenshot, or upload from gallery, and KronAI will schedule it in one click
Claimed on Devpostmedium confidenceschedulr/src/app/mainFunctionScreen/page.tsx:30— HandleCamBtn takes a photo via react-camera-pro and posts it to /api/gemini/image-to-calendar, then runs eventEnhancer to create the calendar event, implementing the camera capture pathschedulr/src/components/upload/UploadModal.tsx:26— A gallery/file upload modal exists but posts to '/api/upload' which does not exist anywhere in the codebase, and the component is never imported/used anywhere else, so 'upload from gallery' is not actually wired up
Apple sign-inClaimed only
UI offers 'Sign in with Apple' as a login option
Claimed on readmehigh confidenceGmail auto-detect events / bite-sized todo lists / push notifications (future work)Claimed only
Integration with G-mail to autodetect events and convert into bite sized todo lists or boost action via push notifs
Claimed on readmehigh confidenceIn-app 'Route to Google Calendar' navigation buttonClaimed only
Implied navbar calendar icon should route to Google Calendar view
Claimed on readmehigh confidencePrescription/medication scanning for healthcare scheduling (future work)Claimed only
Scanning prescription boxes to add medication schedules to the productivity calendar
Claimed on Devposthigh confidenceTinder-like nearby events discovery (future work)Claimed only
For you page with events near you in a tinder like fashion
Claimed on Devposthigh confidence
An AI agent derived these features from the project’s Devpost page and readme, then searched the code for each one. Verified features are backed by cited code; claimed-only features had no supporting code, which is not by itself proof a feature is missing.
Export this project's context (description, README, evidence, key source files) to chat with an AI agent elsewhere.