At my job, we were using Officely to coordinate hybrid work schedules—a Slack plugin that let people share which days they'd be in the office versus working from home. It worked well until the pricing ballooned once we hit a certain team size. So I built JoshDesk in two weeks during my spare time as a free, open-source alternative. Beyond just replicating the core functionality, I added features I actually wanted to use: weather forecasts integrated right into the planning view, so you can strategically choose your office days when it's not pouring rain. The app gives you a 4-week view of team attendance, two-click status updates, and automatic weekly resets—all the essentials without the enterprise price tag.

Key Features

  • 4-week schedule visibility from the Slack home tab
  • One-click office/WFH status updates
  • Automatic weekly schedule reset every Friday
  • Team view command to see everyone's status at a glance
  • Weather-aware planning integration
  • Smart weekly reminders to keep schedules current
  • Customizable admin settings including configurable reminder schedules (our CTO wanted control over when the team got nudged to update their plans)

Technical Architecture

Frontend

Built with Slack's Block Kit UI—their docs were actually pretty solid which made the development surprisingly smooth. Created interactive elements for quick status updates and a dynamic home tab showing the 4-week planning view.

Backend

I'd been wanting to try Bun on a real project, so this was the perfect excuse. Used JSON and SQLite for storage since it didn't need anything more complex than that. Set up a cron job for the weekly schedule resets. Slack Bolt framework handles the API interactions, and Socket Mode keeps everything secure without needing to expose endpoints.

Infrastructure

Originally deployed on DigitalOcean and used in production by the team. Now available as a self-hostable open-source project with complete deployment instructions in the repository. Teams can fork and deploy to their own infrastructure with environment variable configuration for easy setup. OAuth 2.0 flow for secure workspace installation. Scheduled tasks for automated weekly schedule resets.