Project Info
Inspiration
The inspiration of this project was from my own experiences with Zoom. With sometimes having bad eyesight, I wish I had better access to zooming into certain windows and prioritizing different frames that were presented to me during virtual school.
What it does
Sventos is built on the Zoom Video SDK Next.js template, which allows 1-1 communication using Zoom's APIs. I then extended this to support multiple users, and most importantly, screensharing, making up the key elements of virtual school. Sventos gives users fine control over what they view from meetings/presentations/webinars by being able to move and resize their frames, allowing users quality of life and educators/content-creators the ability to create immersive education/other immersive experiences.
How we built it
Sventos is built as a fork of the Zoom Video SDK Next.js template, using Next.js, tailwind, and Node.js for the API routes. I further used Windsurf, the agentic AI IDE, to assist me with tricky tasks and overall frontend design.
Challenges we ran into
Understanding the Zoom API was difficult, but it helped me understand how much control it could give to users if used correctly. Extending the front-end to allow dragging and resizing of frames was a very time-consuming product.
Accomplishments we're proud of
Constructing the MVP, I thought I wouldn't be able to finish it at some point, but I was able to get a majority of what I wanted to on the board. It also helped me understand the lengthiness of the ideation and building process.
What we learned
Software is tricky, but it doesn't always have to be complicated to make an impact. While it wasn't complicated in nature, I believe Sventos has a lot of future potential.
What's next
Supporting multi-screen sharing, I still need to explore more of the Zoom API to see if this is possible, but this may require me to write certain components from scratch. I want to hash this out to meet education use-cases and beyond, as I feel this has good potential for content-creators, especially in the streaming (see, Twitch) industry.
Zoom VideoSDK Next.js Quickstart
This repo contains a quickstart for using the Zoom VideoSDK with Next.js. There's a quickstart for both the Next.js App Router and the Pages Router. You can use either the app-router or the pages-router branch of this repository.
You can learn more about the differences here.
Prerequisites
- Node LTS
- Bun (or NPM)
- Zoom Video SDK Account
Getting Started
- Clone the repository
$ git clone https://github.com/zoom/videosdk-nextjs-quickstart.git
- Install dependencies
$ bun install # or npm install
- Copy
.env.exampleto.envand fill in your Zoom Video SDK credentials as:
ZOOM_SDK_KEY="your-key"
ZOOM_SDK_SECRET="your-secret"
- Start the development server
$ bun dev # or npm run dev
You can open http://localhost:3000 with your browser to view the project.
Analysis
View
Metric
- 6
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
- Next.jsIn code
- ReactIn code
- Tailwind CSSIn code
- TypeScriptIn code
- Node.jsClaimed
6 of 7 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
231 KB
Source files
17
Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.
Repository
aksharye/sventos
30 files · 575 KB · @ 291c5b7
Structure
Interface
9 files · 30%Screens, components and styles rendered to the user.
Application logic
6 files · 20%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
- JavaScript82%
- TypeScript17%
- CSS1%
- Markdown0%
Share of indexed source by file size. Binary and vendored files are excluded.
Dependencies
package.json
npm · 26- @dnd-kit/core
- @dnd-kit/utilities
- @radix-ui/react-slot
- @types/jsrsasign
- @zoom/videosdk
- class-variance-authority
- clsx
- jsrsasign
- lucide-react
- next
- re-resizable
- react
- react-dom
- react-draggable
- react-rnd
- server-only
- tailwind-merge
- tailwindcss-animate
- +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.
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.