Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/dmaman86/shiftly/llms.txt

Use this file to discover all available pages before exploring further.

Shiftly is a work-hour tracking and salary calculation web application built for workers in Israel who need to verify whether their payslips are correct. Workers record time in shifts — a continuous block with a start and end — but Israeli payslips break that same time into weighted segments: overtime brackets that reset each day, Shabbat and holiday bonuses that activate at specific hours, and night premiums that cut across shift boundaries. The mismatch between input (a shift) and output (a weighted payslip) makes independent verification nearly impossible without purpose-built tooling. Shiftly bridges that gap by accepting shift input the way workers actually think, and producing a transparent, rule-by-rule salary breakdown built on Israeli labor law.
Shiftly provides indicative calculations only. Results are intended to help workers understand and cross-check their compensation — they do not constitute official payroll output and do not replace calculations performed by a licensed payroll department.

Core Design Principle

The fundamental insight behind Shiftly’s architecture is that calculation logic remains stable over time — only the contextual parameters change. Salary rules themselves do not vary per implementation; what changes is the period context: the year, month, applicable hourly rate, daylight saving time boundaries, per-diem rate timeline, and meal allowance rules. By treating all of these as inputs rather than hardcoded values, Shiftly can accurately reconstruct salary breakdowns for past months using the same calculation pipeline, without touching domain code.

Application Pages

Shiftly is organized into three pages, each serving a distinct purpose:
  • Daily (/:lang/daily) — Day-by-day shift input and per-day salary breakdown. Shifts are added, edited, and validated here. Monthly totals update incrementally with each change.
  • Monthly (/:lang/monthly) — An aggregated monthly salary summary. Requires selecting a year and month to ensure historically accurate per-diem and meal allowance rates are applied.
  • Calculation Rules (/:lang/calculation-rules) — A reference view displaying the salary rule parameters in effect: overtime thresholds, special-day rate multipliers, per-diem timelines, and meal allowance eligibility criteria.

Tech Stack

Shiftly is built with the following technologies:
LayerTechnologyVersion
UI FrameworkReact19.2.3
LanguageTypeScript5.7.2
Build ToolVite6.2.0
State ManagementRedux Toolkit2.11.0
RoutingReact Router7.11.0
Component LibraryMaterial UI (MUI)7.0.2
Date Utilitiesdate-fns4.1.0
NotificationsNotistack3.0.2
TestingVitest4.0.16
Internationalizationi18next / react-i18next26.0.4 / 17.0.3

Feature Highlights

Overtime Brackets

Calculates regular hours, first overtime bracket (125%), and extended overtime (150%+) with per-day bracket resets, exactly matching Israeli labor law segmentation.

Shabbat & Holiday Rates

Automatically detects Shabbat and Jewish holidays via the Hebcal API. Applies full special-day rates (200%) for complete holidays and partial-day rates for eves and half-days.

Night Bonuses

Resolves night premium segments within any shift, including cross-midnight shifts, applying the correct rate to qualifying hours without manual configuration.

Per-Diem & Meal Allowance

Calculates travel per-diem and meal allowances using historical rate timelines, ensuring past months use the rates that were in effect at the time.

Hebcal Integration

Fetches Jewish holiday data from the Hebcal API to automatically classify each workday — regular, partial special, or full special — with no manual calendar maintenance required.

Bilingual (Hebrew / English)

Full Hebrew and English support. The interface defaults to Hebrew with right-to-left layout and switches to left-to-right English via the URL path (/he/... or /en/...).

Build docs developers (and LLMs) love