Project Info
This project did not submit a demo video on Devpost.
Inspiration
Obisidian
What it does
Note taking app that generates quizes and summaries for students to help them study
Challenges we ran into
We had to learn Rust because Tauri is powered by Rust on the backend which is something we didn't know that we would need to learn at the beginning. Also we both weren't very experienced in React which we know is a virtual requirement nowadays.
Accomplishments we're proud of
We learned Rust which is incredibly difficult, and Alex learned more specifically how to use Git in more detail which he is very happy about. I was able to get the Google Gemini API to work in their new Javascript format which I am fairly certain has very sophisticated technical reasons for existing but I was more used to the openai format of using LLMs.
What we learned
React, Rust, Tailwind, Gemini API, Tauri
What's next
Adding functionality for reading pdfs and handwriting recognition. I would also like to add an auto grader for math equations. 👨💻 Alex's Reflection This project pushed me to learn Git in more depth—especially in a team setting where its power becomes clear. My primary focus was integrating the Gemini API to both summarize user notes and generate quizzes. I adapted to their new API format, which was a shift from the OpenAI-style APIs I usually use for academic research. I also began learning React—my partner guided me a lot—and we used Rust for the backend. Rust feels like the Excalibur of programming languages: powerful, sharp, and a badge of true craftsmanship. Discovering that it shares traits with Python (my go-to language) was a nice surprise. This hackathon gave me the perfect opportunity to branch out. (Yes, that's a Git joke.) 👨💻 Ethan Okamura's Reflection Even though CruzHacks only lasted around 36 hours, I learned more than I have in a long time. Beyond technical skills, I improved my time management, collaboration, and prioritization. These are all lessons I can carry into my job at a small startup and my future career. From a technical perspective, I dove into: CruzHacks gave me a foundation and the confidence to continue growing as an engineer. I'm leaving with a full heart and a head packed with new skills.
cosmiq — CruzHacks 2025 Project
This is the main project document for cosmiq, built during CruzHacks 2025.
🧠 General Idea
A smart, markdown-based note-taking app designed for students:
- A WYSIWYG markdown editor for writing school notes
- Instantly summarize content with a click
- Generate challenging quizzes with detailed explanations
🛠️ Tech Stack
- React – Frontend
- Tailwind CSS – Styling
- Tauri – Desktop backend with Rust
- Gemini APIs – AI-powered summarization & quiz generation
🖥️ Frontend Pages
- Home Page - Interact with your local files system to access your directories
- Edit Files Page – Write and manage markdown notes
- Summary Page – Instantly generate cheat-sheets
- Quiz Page – Take dynamic quizzes based on your notes
🧰 Backend Responsibilities
- File system interaction via Tauri
- Integration with Gemini APIs for AI-powered features
✨ Features
- Write notes, papers, or documentation
- Summarize notes to create study guides or cheat-sheets
- Generate dynamic quizzes in one click
How to Run:
To launch the the desktop application itself, execute the following commands:
cd cosmiq
npm i
npm run tauri dev
In a seperate terminal you can spin up backend with the following commands:
cd server
docker-compose up --build
Note that in order to run the backend, you will need a Gemini API key
Analysis
View
Metric
- 31
- 3
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
- ExpressIn code
- Google GeminiIn code
- HTMLIn code
- JavaScriptIn code
- ReactIn code
- RustIn code
- Tailwind CSSIn code
- TypeScriptIn code
9 of 9 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
253 KB
Source files
76
Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.
Repository
ethanokamura/cosmiq
180 files · 2.0 MB · @ 04a8e81
Structure
Interface
19 files · 11%Screens, components and styles rendered to the user.
API & routing
12 files · 7%Request entry points: routes, handlers and controllers.
Application logic
23 files · 13%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
- Markdown72%
- TypeScript22%
- CSS3%
- JavaScript2%
- Rust1%
- HTML1%
Share of indexed source by file size. Binary and vendored files are excluded.
Dependencies
cosmiq/package.json
npm · 30- @google/genai
- @google/generative-ai
- @tailwindcss/vite
- @tauri-apps/api
- @tauri-apps/plugin-fs
- @tauri-apps/plugin-opener
- @tiptap-pro/extension-mathematics
- @tiptap-pro/extension-unique-id
- @tiptap/core
- @tiptap/extension-code-block-lowlight
- @tiptap/react
- @tiptap/starter-kit
- highlight.js
- katex
- lowlight
- react
- react-dom
- react-icons
- +12 more
cosmiq-web/package.json
npm · 18- @tailwindcss/vite
- react
- react-dom
- react-icons
- react-router-dom
- tailwindcss
- tw-animate-css
- +11 more
cosmiq/src-tauri/Cargo.toml
cargo · 9- dotenvy
- reqwest
- serde
- serde_json
- tauri
- tauri-plugin-fs
- tauri-plugin-opener
- tokio
- +1 more
server/package.json
npm · 4- axios
- cors
- dotenv
- express
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.
This project’s features have not been analysed yet.
Export this project's context (description, README, evidence, key source files) to chat with an AI agent elsewhere.