TimeClout: AI 기반의 오픈소스 팀 스케줄링 및 인력 관리 플랫폼

TimeClout 소개

TimeClout은 복잡한 팀 스케줄링과 인력 관리를 자동화하기 위해 설계된 AI 기반의 오픈소스 플랫폼입니다. 병원, 소매점, 레스토랑, 혹은 교대 근무(Shift)가 필요한 모든 조직에서 발생하는 비효율적인 수동 스케줄링 문제를 해결하는 데 중점을 두고 있습니다. 사용자는 직관적인 UI를 통해 근무표를 작성하고, 휴가 요청을 처리하며, 팀원들의 자격(Qualification)과 선호도를 고려한 최적의 스케줄을 자동으로 생성할 수 있습니다.

기존의 수작업 방식(엑셀, 메신저)은 관리자가 엑셀이나 메신저를 통해 수동으로 근무표를 짜느라 매주 수 시간을 소비할 뿐만 아니라, 근무자 간 일정 충돌, 자격 요건 누락, 공정성 시비 등 끊임없는 문제를 야기했습니다. 이 프로젝트는 '스프레드시트 지옥'뿐만 아니라, 이러한 다양한 문제들로부터 탈출하기 위해 시작되었습니다. 많은 TimeClout은 이러한 과정을 AI 알고리즘(Solver)을 통해 자동화하여, 관리자가 몇 시간 걸리던 작업을 단 몇 분 만에 끝낼 수 있도록 돕습니다.

특히, TimeClout은 개발자 친화적인 **오픈소스(Open Source)**로 제공되어, 기업이 자체 인프라에 직접 호스팅(Self-hosting)하여 데이터 주권을 확보하거나, 비즈니스 로직을 커스터마이징할 수 있는 강력한 유연성을 제공합니다.

기존의 방식들과의 비교

기존의 인력 관리는 주로 엑셀 스프레드시트나 종이, 또는 파편화된 메신저 대화에 의존했습니다. 이 방식은 다음과 같은 문제점이 있었습니다:

  • 시간 소모: 근무자 간의 일정 충돌, 휴가 신청, 자격 요건(예: 특정 근무에는 반드시 의사가 포함되어야 함)을 수동으로 대조하는 데 막대한 시간이 걸립니다.
  • 오류 발생: 수작업 특성상 휴가자가 근무표에 포함되거나, 필수 인력이 누락되는 실수가 잦습니다.
  • 공정성 결여: 특정 인원에게만 힘든 근무가 몰리는 등 업무 분배의 공정성을 유지하기 어렵습니다.


그 외에도 대부분의 상용 SaaS 스케줄러는 "블랙박스" 형태의 알고리즘을 제공하거나 커스터마이징이 제한적입니다. TimeClout은 이러한 문제를 AI Smart Auto-Fill 기능으로 해결합니다. 관리자가 규칙(Rules)과 제약 조건만 설정하면, AI가 수천 가지의 경우의 수를 계산하여 모든 조건을 만족하는 최적의 근무표를 자동으로 채워줍니다. 또한, 특정 클라우드 사업자에 종속되는 일 없이, DynamoDB 기반의 확장성 높은 아키텍처를 온프레미스나 개인 AWS 계정에 직접 배포할 수 있습니다. 그 외에도 최신 모던 웹 기술 스택(React, GraphQL, TypeScript)으로 구축되어 있어, 유지보수와 기능 확장이 용이합니다.

TimeClout의 주요 기능

지능형 스케줄링 (Intelligent Shift Scheduling)

가장 핵심적인 기능은 Smart Auto-Fill입니다. 이 기능은 단순히 빈칸을 채우는 것이 아니라, 다음과 같은 복합적인 변수를 고려하여 최적의 해를 찾아내는 AI Solver입니다.

  • 자격 요건(Qualifications): 특정 교대 근무에 필요한 기술이나 자격이 있는 직원만 배정합니다.
  • 근무 선호도 & 공정성: 직원의 근무 선호도를 반영하고, 힘든 근무나 휴일 근무가 팀원 전체에게 공평하게 배분되도록 조정합니다.
  • 충돌 감지(Conflict Detection): 휴가 일정, 최소 휴식 시간 준수 여부 등을 자동으로 체크하여 충돌을 방지합니다.

포괄적인 팀 및 휴가 관리

TimeClout은 다중 레벨(Multi-Level) 조직 구조를 지원하여, 회사 내 여러 유닛(Unit)과 팀(Team) 등과 같은 구조화된 조직들을 체계적으로 관리할 수 있습니다. 또한, 역할 기반 권한 관리(RBAC, Role-Based Access Control) 기능을 제공하여, 각 사용자별로 관리자, 팀 리더, 팀원 등 역할에 따라 세밀한 접근 제어가 가능합니다.

휴가 신청 및 승인 프로세스가 스케줄러와 연동되어, 승인된 휴가는 근무표 생성 시 자동으로 '근무 불가'로 처리됩니다. 관리자는 직원의 휴가 신청에 대해 승인/반려할 수 있는 워크플로우는 물론, 각 직원별 남은 휴가 일수(Quota)를 자동으로 추적/관리 할 수 있는 기능도 함께 제공합니다.

기술 스택 (Tech Stack)

TimeClout은 최신 웹 기술을 기반으로 구축되어 있어, 개발자가 쉽게 코드를 분석하고 커스터마이징할 수 있습니다.

  • Frontend: React, TypeScript, Tailwind CSS
  • Backend: Node.js, GraphQL API
  • Database: DynamoDB (확장성 높은 데이터 저장소)
  • AI Integration: Google Gemini 통합 (지능형 어시스턴트 및 스케줄링 지원)
  • Auth: NextAuth.js (보안 인증)

AI 어시스턴트 (AI-Powered Assistant)

내장된 AI 어시스턴트는 사용자의 애플리케이션 컨텍스트를 이해합니다. 스케줄링 중 의사결정이 필요할 때 "스마트 추천"을 제공하거나, 인터페이스 내에서 직접적인 작업 가이드를 제공하여 사용성을 높입니다.

라이선스

TimeClout 프로젝트는 Business Source License 1.1 (BSL 1.1) 하에 배포되고 있습니다. 이 라이선스는 오픈소스처럼 소스 코드를 공개하지만, 상업적 호스팅 서비스(SaaS 등)로 제공하는 것을 제한한다는 점이 가장 큰 특징입니다. 즉, 코드를 연구하거나 내부적으로 사용하는 것은 자유롭지만, 해당 소프트웨어를 그대로 서비스로 제공하는 것은 허용되지 않습니다. 또한, 2029년 11월 1일 이후에는 Apache License 2.0으로 전환되어 누구나 자유롭게 사용할 수 있게 됩니다. 구체적인 라이선스 조항은 저장소 내의 라이선스 파일을 참고해주세요.

:house: TimeClout 공식 홈페이지

:scroll: TimeClout Online Private Beta 출시 블로그

:github: TimeClout 프로젝트 GitHub 저장소

https://github.com/djinilabs/timeclout




이 글은 GPT 모델로 정리한 글을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 덧글로 알려주시기를 부탁드립니다. :hugs:

:pytorch:파이토치 한국 사용자 모임:south_korea:이 정리한 이 글이 유용하셨나요? 회원으로 가입하시면 주요 글들을 이메일:love_letter:로 보내드립니다! (기본은 Weekly지만 Daily로 변경도 가능합니다.)

:wrapped_gift: 아래:down_right_arrow:쪽에 좋아요:+1:를 눌러주시면 새로운 소식들을 정리하고 공유하는데 힘이 됩니다~ :star_struck: