What is Jirassic
Jirassic is an AI-powered task management tool designed to revolutionize the way teams handle task assignments post-meetings. Our solution seamlessly converts meeting transcripts, audio, or video inputs into actionable tasks automatically assigned to the right teammates. By harnessing the power of AI, Jirassic eliminates the manual effort typically required for task distribution, enhancing productivity and efficiency.
Inspiration
Our inspiration stemmed from the limitations we've experienced with popular project management tools like JIRA. While JIRA excels in tracking and managing tasks, it falls short when it comes to automating the ticket assignment process. Managers often spend valuable time manually creating and assigning tickets based on meeting discussions, leading to inefficiencies and potential oversights.
We envisioned a system where meetings don't just end with notes but with actionable outcomes automatically assigned to the right people. Jirassic was born out of this need to bridge the gap between meeting discussions and task execution.
What it does
Jirassic is an AI-powered task management tool designed to automate the process of task creation and assignment based on meeting content. By simply uploading meeting transcripts, audio, or video files, the system uses advanced speech-to-text technology (Whisper) to generate accurate transcripts. These transcripts are then processed by AI models (powered by Vertex AI’s Gemini-1.5 Pro) to identify key action items and assign tasks automatically to the right team members. With seamless integration of FastAPI for backend operations, MongoDB for data management, and a sleek Next.js frontend, Jirassic eliminates the need for manual ticket creation, streamlining workflows, and significantly boosting team productivity.
How we built it
We built Jirassic using a robust tech stack designed for efficiency and scalability. The project leverages Whisper's tiny model, hosted locally with Flask, to convert meeting audio files into accurate transcripts. For the backend, we used FastAPI to manage database operations and integrate with Vertex AI's Gemini-1.5 Pro, which processes transcripts to identify action items and assign tasks automatically. MongoDB serves as our database, storing user information and task details securely. The frontend is crafted with Next.js and styled using Tailwind CSS to provide a clean, responsive user interface.
Challenges we ran into
Version Compatibility Issues: While hosting Whisper with FastAPI, we faced compatibility issues as Whisper only worked seamlessly with Python versions between 3.9 and 3.10. This constraint required us to adjust our development environment, but due to persistent compatibility problems, we eventually switched to using Flask instead of FastAPI for hosting Whisper. This change ensured stable performance while maintaining the required functionality.
Google Cloud Authentication Issues: Integrating Vertex AI presented authentication challenges. Initially, we attempted to authenticate using API keys set as environment variables, which resulted in persistent errors due to misconfigurations. We then tried authenticating through the Google Cloud CLI, but this method proved unreliable across different environments. Finally, we resolved the issue by employing the JSON file authentication method. This approach involved downloading a service account key in JSON format from the Google Cloud Console and securely referencing it in our project. This method provided a stable, consistent, and secure way to authenticate with Vertex AI across all environments.
Handling CORS over Multiple Servers: With Jirassic’s architecture involving multiple servers, managing Cross-Origin Resource Sharing (CORS) became complex. We had to meticulously configure CORS policies across different servers to enable secure and seamless data flow between the frontend and backend.
Accomplishments that we're proud of
Great Team Spirit: We navigated technical hurdles, late-night debugging sessions, and conflicting ideas-and came out stronger (with a working product).
Automated Task Assignment That Actually Works: We built an AI system that doesn’t just assign random tasks-it understands meeting context and assigns them accurately.
Learning to Prioritize User Experience: Initially focused solely on backend performance, we later realized that a clean, intuitive UI wasn’t optional, it’s what makes people actually want to use the product.
What we learned
Authentication is More Than Just API Keys: Our struggle with Google Cloud authentication helped us understand the intricacies of cloud security. We learned that while API keys are quick to set up, service account JSON files offer more robust, reliable, and secure authentication, especially in multi-environment deployments.
AI Needs Context, Not Just Data: Working with Vertex AI's Gemini-1.5 Pro made us realize that effective task assignment requires models to understand the context, not just process raw data. We had to fine-tune prompts and adjust our data flow to improve AI accuracy.
The Importance of Proper CORS Configuration: Managing CORS across multiple servers was a deep dive into the mechanics of web security. We learned how critical it is to configure CORS headers correctly to ensure secure communication between frontend and backend systems, especially when dealing with sensitive data.
Real-World Constraints Demand Flexibility: The version compatibility issues taught us the importance of adaptability in selecting the right frameworks. We realized that sometimes, sticking to a preferred tech stack can lead to unnecessary complications, and flexibility in switching to alternatives (like Flask) can save significant development time.
What's next for Jirassic
Skill-Based Team Matching: Since we have a comprehensive database of users along with their skill sets, finding the right teammates for a project with varied skills will become even easier. This will help teams form faster and ensure projects have the right mix of expertise for success.
Integration with Communication Tools: We plan to integrate Jirassic with popular communication tools like Slack, Microsoft Teams, Altassian and Google Workspace. This will create a unified ecosystem where tasks can be tracked, managed, and updated seamlessly across platforms.
Docker for Version Control: We will incorporate Docker to manage version control and ensure consistency across development, testing, and production environments. Docker will allow us to containerize our applications, making it easier to replicate the same environment across different systems.
Built With
- fastapi
- flask
- google-cloud
- mongodb
- next.js
- python
- tailwind
- vertex-ai
- whisper
Log in or sign up for Devpost to join the conversation.