Back to Projects

OutDesk

Smart Leave & Task Management Platform for academic institutions

2024
BACKEND
Complexity: High

Automate leave approvals and detect burnout with AI

Educational institutions struggle with manual leave approval processes and lack visibility into employee burnout. Paper-based systems lead to delays and data loss, leaving administrators with no way to correlate leave patterns with actual workload or stress levels.

The Solution

OutDesk is a comprehensive platform built with a Flutter mobile app and a high-performance FastAPI backend. It introduces ML-based burnout detection that analyzes leave patterns, task loads, and working hours to proactively alert administrators.

Core Capabilities

  • Student/Faculty Leave Requests: Simple leave request submission with an intuitive calendar view.
  • Automatic Approvals: Rules-based engine to instantly approve eligible leaves based on predefined criteria.
  • Burnout Detection: AI alerts that trigger when patterns indicate potential faculty or student burnout.
  • Real-time Updates: Live synchronization across all devices with Firebase push notifications.

Technical Implementation

The backend is built using FastAPI to handle high concurrency during peak request hours (e.g., beginning of the semester).

@app.post("/api/leaves/apply")
async def apply_leave(request: LeaveRequest, user: User = Depends(get_current_user)):
    # 1. Validate rules engine
    eligibility = rules_engine.check_eligibility(user, request)
    
    if not eligibility.is_valid:
        raise HTTPException(status_code=400, detail=eligibility.reason)
        
    # 2. Check auto-approval rules
    if eligibility.can_auto_approve:
        leave = await create_approved_leave(user, request)
        await notify_supervisors(leave)
        return {"status": "auto_approved", "leave_id": leave.id}
        
    # 3. Route to manual approval workflow
    leave = await create_pending_leave(user, request)
    return {"status": "pending_approval", "leave_id": leave.id}

Impact

OutDesk is actively used by 5+ institutions, successfully managing over 1000+ leave requests monthly, while keeping API response times under 150ms at the 95th percentile.