Inspiration
While looking for inspiration for our project, we scoured threads about common problems that employees faced in the workplace. A reddit comment stood out to us from a post labeled "What's Your Biggest Everyday Office Frustration", it stated "Having meetings all day and not having time to complete actual tasks and projects." We realized that meetings could often be a time sink that takes precious hours away from valuable work, and most of it could have been an email.
What it does
MeetingManager helps shorten meetings by letting managers submit their meeting notes and ideas to our AI-Powered Assistant, evaluating how necessary these meetings are by understanding the meeting purpose, who is attending, and how long the meeting is. Using this information, it provides a live score and a recommendation for ways to improve the meeting, such as shortening the meeting time or sending an email instead.
Based on the recommendation provided, it will offer key points for the meeting, or draft an email with those key points for the intended meeting.
How we built it
The backend is built using Node.js with Express, which means the server handles requests from the frontend through a REST API. Instead of the frontend directly accessing data, it sends requests like “create a meeting,” “log in,” “get my meetings,” or “run an analysis,” and the backend processes those requests and sends back responses in JSON format.
For storing data, it uses SQLite through Node’s built-in node:sqlite. SQLite is a lightweight database that keeps all application data (such as users, meetings, agendas, analyses, recommendations, notifications, and activity) in a single local file. It’s simple, fast for smaller projects, and doesn’t require setting up a separate database server like MySQL or PostgreSQL.
User passwords are protected using bcryptjs, which hashes passwords before storing them in the database. This means passwords are never saved as plain text, improving security in case the database is exposed.
Authentication is handled using JSON Web Tokens (JWTs). After a user logs in successfully, the backend generates a token and sends it to the frontend. The frontend stores that token and includes it in future requests so the backend can verify the user’s identity without needing them to log in every time.
We initially built the user interface in Figma to prototype how users would interact with MeetingManager. We then built the frontend with vanilla HTML, CSS, and JavaScript, styled using Tailwind CSS. This keeps the interface lightweight and simple while still allowing modern responsive design without using larger frameworks like React.
For testing, the project uses Jest and Supertest. Jest is used for running unit and integration tests, while Supertest helps test API endpoints by simulating requests to the Express server. This helps ensure features like login, meeting creation, analysis generation, and authentication work correctly before shipping new features.
Additionally, we used Claude to help us throughout the project with implementation.
Challenges we ran into
We ran into challenges ensuring MeetingManager would be unique. There are quite a few quizzes out there that ask if a meeting could be an email, however we decided to focus MeetingManager towards meeting prevention and reduction while making informed decisions with its AI.
Accomplishments that we're proud of
We are proud of the fact that we managed to nail down the concept fairly early on and fully flesh out what we wanted MeetingManager to be able to do, both in the short term and long term.
What we learned
We learned that the most important part of building a prototype is getting the key functionality to work before we add more features on top.
What's next for MeetingManager
After the Hackathon, we intend to include live tracking during meetings, we will also include a dashboard that shows managers how much time and money their team has saved.
We will also implement a system that collects post-meeting feedback from other attendees to help train the AI and provide feedback for the host. Feedback from other attendees will be used to help meeting hosts and MeetingManager's AI make more informed choices regarding future meetings.
Built With
- claudeai
- css
- express.js
- html
- javascript
- jest
- node.js
- sqlite
- superjest
Log in or sign up for Devpost to join the conversation.