news Apr 03, 2026 · 1 views · 3 min read

Creating a Shift Calendar App for Rotating Workers

Discover how a solo developer built Turna, a free shift calendar app tailored for rotating workers, leveraging a simple tech stack to offer real-time sharing, auto-rotation, and more.

The Need for a Shift Calendar App

Millions of professionals such as nurses, security personnel, factory operators, and firefighters rely on rotating shifts. Often, they manage their schedules using paper, WhatsApp groups, or spreadsheets, leading to frequent confusion about working days. To address this, a new solution was developed.

Introducing Turna

Turna is a free app designed specifically for shift workers, offering:

  • Custom Shift Painting: Apply shifts on a calendar with unique colors.
  • Auto-Rotating Sequences: Seamlessly generate sequences like Morning → Afternoon → Night → Off.
  • Real-Time Sharing: Share schedules with partners or coworkers instantly.
  • Comprehensive Stats: Track hours worked, off days, and breakdowns by shift type.
  • Dark Mode: Ideal for night shifts.

Available as a web app at app.turna.es and on Google Play.

Technical Foundation

The development focused on simplicity and speed:

  • Frontend: Built with Vue.js 3 using the Composition API and pure CSS.
  • Backend: Powered by Python with FastAPI.
  • Database: Utilizes PostgreSQL.
  • Authentication: FastAPI Users with JWT tokens.
  • Hosting: Deployed on a Linux VPS with Nginx.
  • Mobile: Implemented as a PWA and TWA using Bubblewrap for Google Play.

The app avoids complex frameworks to maintain a lightweight, efficient design.

Strategic Decisions

  • PWA and TWA: Opted for a Progressive Web App instead of native apps to streamline development and deployment, ensuring availability across platforms with a single codebase.
  • CSS Over Frameworks: Chose pure CSS for a precise and efficient user interface, crucial for calendar-based applications.
  • FastAPI Backend: Selected for its productivity and built-in features like async support and auto-generated documentation.

Overcoming Challenges

  • Shared Calendars: Implemented a diagonal view to overlay shifts for two users on the same day, using a CSS split design.
  • Timezone Management: Addressed issues with JavaScript Date objects and UTC conversions to ensure accurate statistics.
  • TWA Splash Screen: Achieved consistency between web and TWA manifests for a seamless Android experience.

Present Status

  • Web App: Live at app.turna.es
  • Android App: Under closed testing with over 12 testers.
  • Upcoming Features: Public release on Google Play, premium options like Google Calendar export and push notifications.

Insights and Takeaways

  • Rapid Iteration: Early shipping allowed for fast iterations based on user feedback.
  • Targeted Audience: Focusing on shift workers provided a niche advantage.
  • Solo Development Success: Demonstrated that a single developer can manage frontend, backend, and deployment by keeping the tech stack straightforward.

Explore Turna

If you or someone you know works shifts, give Turna a try and share your thoughts!

Discussion

0 Comments

Leave a Comment

Comments are moderated and will appear after approval.