Project Info
Inspiration
We are students at Minerva University which uses innovative curriculum and learning methods. Online forum classes is how we learn, they require active participation. While on the classes, we might doze off or forget about something discussed, which diminishes our grades. We always wanted a live, automatic AI note taker so we won't need to take notes all the time.
What it does
Our product, Notefly, turns the talks in the meetings into live transcript text. Then it turns the transcripts into short note blocks, a 40 words speech becomes 10 words. The short note blocks turn into bullet points and bullet points turn into main idea summary notes. All these summaries can be seen while in the meeting so everyone knows what we are discussing and important details, like a customers mail address.
How we built it
Started by using agora's SDK to create a basic web conferencing software using next.js for the frontend. Then used agoras transcription features and figured out how we retrieve, store and process that data using fetch.ai agents. Used gemini for processing and mongo.db for storing data
Challenges we ran into
Our tech stack didn't exactly matched with the project. Storing transcripts was a BIG bugger, we thought agora had place to store data but they didn't. we tried to send to singlestore but that didn't worked properly as well. Making fetch.ai agents work and make them retrieve and send data, and communicate with each other was also a problem. Making the app live update was also a challenge.
Accomplishments we're proud of
IT FUC'IN WORRKKS!!!
What we learned
How to create a video calling app, something that we have 0 knowledge about, using tools that we have 0 knowledge about. Also deciding on the idea took much longer than it should, we will focus on not the perfect but the most applicable and team friendly idea next time.
What's next
After an all-nighter, the app is far from done, there could be more improvements in the summary logic. We can turn this into a more scalable product that allows people to host their own meetings in the cloud, its on a local host that lives in agoras serves now, we sadly can't send try us links rn.
This is a Next.js project bootstrapped with create-next-app.
Getting Started
First, run the development server:
npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev
Open http://localhost:3000 with your browser to see the result.
You can start editing the page by modifying app/page.tsx. The page auto-updates as you edit the file.
This project uses next/font to automatically optimize and load Geist, a new font family for Vercel.
Learn More
To learn more about Next.js, take a look at the following resources:
- Next.js Documentation - learn about Next.js features and API.
- Learn Next.js - an interactive Next.js tutorial.
You can check out the Next.js GitHub repository - your feedback and contributions are welcome!
Deploy on Vercel
The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.
Check out our Next.js deployment documentation for more details.
Analysis
View
Metric
- 7
- 5
- 2
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
- CSSIn code
- JavaScriptIn code
- MongoDBIn code
- Next.jsIn code
- ReactIn code
- Tailwind CSSIn code
- TypeScriptIn code
- Google GeminiClaimed
7 of 8 appear in the indexed code. 1 claimed on Devpost could not be matched to code, which may simply mean the tool leaves no trace in the repository.
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
104 KB
Source files
37
Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.
Repository
Almasx/calhack
49 files · 609 KB · @ 2d7c93b
Structure
Interface
17 files · 35%Screens, components and styles rendered to the user.
API & routing
4 files · 8%Request entry points: routes, handlers and controllers.
Application logic
15 files · 31%Domain rules, services and shared utilities.
Data & schema
1 file · 2%Schema definitions, migrations and data access.
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
- JavaScript54%
- TypeScript44%
- Markdown1%
- Shell1%
- CSS0%
Share of indexed source by file size. Binary and vendored files are excluded.
Dependencies
package.json
npm · 19- agora-rtc-react
- class-variance-authority
- clsx
- framer-motion
- lucide-react
- mongodb
- next
- protobufjs
- react
- react-dom
- zustand
- +8 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
Live meeting transcriptVerified
Talks in meetings are turned into live transcript text visible during the call
Claimed on Devposthigh confidencesrc/app/api/transcribe/route.ts:43— Starts Agora STT transcription task for a channelsrc/lib/agora/utils.ts:91— apiSTTStartTranscription calls Agora's speech-to-text task APIsrc/app/hook/stream.ts:27— Parses incoming stream messages into text subtitles and updates storesrc/components/transcript-panel.tsx— Renders live subtitles panel
MongoDB storage backendVerified
Used mongo.db for storing data
Claimed on Devposthigh confidencesrc/lib/mongodb.ts:4— MONGODB_URI-based MongoClient connectionpackage.json:17— mongodb dependency present
Real-time video conferencingVerified
Web conferencing built with Agora's SDK using Next.js for the frontend
Claimed on Devposthigh confidencesrc/components/call-panel/index.tsx:17— Creates an AgoraRTC client via agora-rtc-react, wraps VideoGrid/ControlPanel in AgoraRTCProviderpackage.json:12— agora-rtc-react dependency presentsrc/components/call-panel/video-grid.tsx— Video grid component rendering call participants
Standard Next.js scaffold / getting started instructionsVerified
Next.js project bootstrapped with create-next-app, run with npm/yarn/pnpm/bun dev
Claimed on readmehigh confidencepackage.json:6— dev/build/start/lint scripts match a standard create-next-app scaffoldnext.config.mjs— Next.js config file present
Tech stack: Next.js, React, Tailwind, ZustandVerified
Built with next.js, react, tailwind, zustand
Claimed on Devposthigh confidencepackage.json:18— next, react, zustand dependencies presenttailwind.config.ts— Tailwind CSS configuredsrc/store/transcription-store.ts:12— zustand create() used for state stores
Transcript storage in MongoDBVerified
Retrieve, store and process transcript data (storage via MongoDB)
Claimed on Devposthigh confidencesrc/store/subtitle-store.ts:24— saveSubtitleToDB posts final subtitles to /api/subtitlessrc/app/api/subtitles/route.ts:11— POST handler inserts subtitle documents into MongoDB 'subtitles' collectionsrc/lib/mongodb.ts:17— MongoClient connection setup
Main idea summary / headline displayCode-supported
Bullet points turn into main idea summary notes, visible during the meeting
Claimed on Devpostmedium confidencesrc/components/ai-panel/summary.tsx:11— UI component displays a rotating 'headline' as the main ideasrc/lib/db/queries.ts:46— getHeadlines reads from a 'headlines' Mongo collection, but no code anywhere writes to this collection — only the client-side demo page (src/app/page.tsx) uses hardcoded PRODUCT_DEMO_HEADLINES
Meeting notes panel (short note blocks)Code-supported
Short note blocks / summaries can be seen while in the meeting
Claimed on Devpostmedium confidencesrc/components/ai-panel/notes.tsx:8— Notes UI renders summary documents fetched from /api/summary and allows deletionsrc/app/api/summary/route.ts:6— GET endpoint reads 'summary' collection, but no endpoint or code inserts into it — generation pipeline is missing
AI-generated short note blocks / bullet-point summaries (Gemini)Claimed only
Transcripts are turned into short note blocks (40 words -> 10 words) and bullet points using Gemini for processing
Claimed on Devposthigh confidenceFetch.ai agents for data retrieval/processingClaimed only
Used fetch.ai agents to retrieve, store, and process transcript data, communicating with each other
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.