Inspiration
We were inspired by the gap between tools that show you who is absent versus tools that tell you what to do about it. Notion, Asana, and Linear are great for task management — but none of them proactively handle coverage planning. We wanted to build the missing layer: an intelligent operations platform that collapses hours of manual coordination into a single click.
What We Built
Coverly is an AI-powered team coverage and task management platform. When a team member goes out of the office, Coverly automatically identifies at-risk tasks, analyzes the team's workload and skill set, and generates intelligent reassignment recommendations - complete with AI-written handoff docs so nothing gets lost in the transition.
How we built it
Coverly was built as a full-stack web application over 24 hours using a modern, real-time tech stack:
| Layer | Technology |
|---|---|
| Frontend | Next.js 14 (App Router) + TypeScript |
| Styling | Tailwind CSS + shadcn/ui |
| Auth | Clerk |
| Database | Convex (real-time backend) |
| AI | OpenAI GPT-4o |
| Calendar | ICS file parsing via ical.js |
We also used Stitch with Google for Frontend and UI design, but we didn't have enough time to implement that in our actual codebase but kept images of our ideas of what we planned out.
Challenges we ran into
Clerk + Convex JWT Authentication The biggest technical hurdle was getting Clerk's JWT tokens to pass correctly to Convex for server-side identity verification.
ctx.auth.getUserIdentity()was returning null despite the JWT template being correctly configured. The fix required hardcoding the issuer domain directly inauth.config.tsrather than using an environment variable, which doesn't resolve at Convex build time.Real-time Data Consistency With multiple users updating availability and tasks simultaneously, ensuring the heatmap and task board stayed consistent required careful query design in Convex. We had to scope all queries to the user's
activeOrgIdand handle the migration from a singleorgIdfield to anorgIdsarray without breaking existing documents.ICS Recurring Events Calendar files from universities and workplaces often use
RRULEfor recurring events. Our initial parser only handled single events, missing weekly recurring blocks entirely. We used theical.jsRecurExpansionAPI to expand recurring rules into individual date entries for the next 30 days.AI Response Reliability Getting GPT-4o to consistently return valid structured JSON required careful prompt engineering — explicitly forbidding markdown fences, specifying the exact schema, and using
response_format: { type: "json_object" }. We also added silent fallbacks for hallucinated IDs rather than crashing the whole suggestion flow.
Accomplishments that we're proud of
What we learned
- Convex's real-time reactivity is genuinely magical for collaborative tools — you get live updates for free without WebSocket boilerplate
- Prompt engineering for structured outputs is as important as the model choice — a well-designed prompt beats a bigger model
- ICS calendar parsing is surprisingly complex due to recurring event rules, timezones, and all-day event formats
- Building an approval workflow (request → review → approve/reject) adds significant trust and accountability to AI-powered automation
What's next for Coverly - AI-Powered Team Coverage & Task Reassignment
What's Next
Coverly is just getting started. The most natural next step is direct Google Calendar OAuth integration, which would eliminate the manual .ics export step entirely - members would simply connect their calendar once and availability would sync automatically in the background. Alongside that, we want to add email notifications via Resend so team members are alerted the moment a task is reassigned to them, complete with the AI-generated handoff doc attached directly to the email.
On the analytics side, we're excited to build a team performance dashboard that tracks patterns over time - who is consistently overloaded, which projects generate the most reassignments, and how quickly the team recovers from OOO events. This data would make Coverly not just a reactive tool but a proactive planning resource That helps managers staff projects better from the start. Longer term, we see Coverly expanding into Slack and Microsoft Teams as a native integration, so coverage alerts and AI suggestions surface directly in the tools teams already live in. A mobile app would let members set their availability on the go, and enterprise features like SSO, audit logs, and custom approval workflows would make Coverly viable for larger organizations managing hundreds of people across multiple teams.
Built With
- clerk
- convex
- css
- github
- next.js
- openaiapi
- react
- stich
- typescript
- vercel
Log in or sign up for Devpost to join the conversation.