THIS WEEK'S PAY
~$0
net: —
Month Pay
~$0
net: —
Comp Hours
0
Details
This Week's Shifts

Shifts logged offline may not immediately appear on other devices. Data syncs automatically when connected to the internet.

Shift Calendar
NEW

Tap a day to see shift details

Pay Summary
Pay Period
Breakdown
This feature is still in development. Totals may not be 100% accurate.
Regular Hours0h
Regular Pay~$0.00
Chart Day Pay (2x / 1.5x snow) ~$0.00
Truck Money $0.00
Overtime Hours0h
Overtime Pay ~$0.00
Holiday Pay (1.5x)~$0.00
Vacation Pay~$0.00
Night Differential (+10%)~$0.00
Saturday Pay tap to expand $0.00
Sunday Pay (2x)~$0.00
Snow Pay (Releasing November 2026) ~$0.00
Snow Hours (Releasing November 2026) 0h
Gross Pay ~$0.00
Tax Deductions
This feature is still in development
FICA (6.2%)~$0.00
Medicare (1.45%)~$0.00
Federal Withholding (7.8%)~$0.00
State Withholding (4.35%)~$0.00
NYC Withholding (3.31%)~$0.00
Total Tax ~$0.00
Other Deductions
This feature is still in development
Health Ins (20yr)$7.42
NYCE PPO Basic~$0.00
414H Disability$18.89
NYCERS Pension$40.48
Uniform Sanitationmen Assn$21.00
457 Savings Plan
Go to profile to edit percentage
~$0.00
401k
Go to profile to edit percentage
~$0.00
Total Deductions ~$0.00
Net Pay
This feature is still in development
~$0.00
Your Base Salary
$0.00/yr
Weekly: ~$0.00  |  Daily: ~$0.00
Info & Tools
Operations
Career
Health
App
Sick Tracker Still in Development
Achievements
Route Book 0
Truck Ledger
Truck History
Countdowns
Add Countdown
Locations
NYC Sanitation Map
Support the Developer
SanTrack is free
This app was built for our strongest city workers to make tracking pay easier among other things. If it's been helpful, any support means a lot!
Donation links coming soon.
Costs to keep this app up and running will be shown here before donations can be accepted.
Comp Hours 0 hrs
+ Add Hours Manually
Goals
Clean Week Goal
Monthly Net Pay Goal
Weekly Pay Goal
Comp Hours Goal
Updates
! Known Bugs
• Pay breakdown totals may not be 100% accurate in all edge cases
• Snow pay not yet functional
📋 Changelog
Beta v0.9.5 June 29, 2026
NYC Sanitation Map added — new interactive map in Info & Tools → Operations showing all 59 DSNY sanitation districts color-coded by borough, with zoom-in district name labels that slant to fit elongated shapes and scale with district size.
Garage markers — every district garage plotted with a yellow house icon and label. Districts sharing a physical garage show a combined label (e.g. BK1/BK4). Coordinates verified via places lookup for all 59 locations.
Borough office stars — all 7 DSNY Borough Offices (BXBO, BKNBO, BKSBO, MNBO, QEBO, QWBO, SIBO) shown as red star icons, stacked above co-located garage markers automatically.
Broom garages, FBF, Dump locations, Lots, San Cops, CRS, Salt Piles — all additional facility types added with distinct icons and colors. All map markers are now fully tappable — tapping any icon or label opens the info panel with address and Directions button.
BK17/BK18 smart label — combined BK17/BK18 label when zoomed out (121m apart), splits into individual markers at zoom 14+.
In-app directions — OpenRouteService routing — tap any marker → Directions → routes from your GPS location to that facility. Neon green route line with turn-by-turn SVG step icons. Upgraded from OSRM to OpenRouteService for better NYC truck routing.
Parkway & restricted road avoidance — truck mode explicitly avoids Belt Pkwy, FDR Drive, Henry Hudson Pkwy, Jackie Robinson Pkwy, Eastern Pkwy, Bronx River Pkwy, Hutchinson River Pkwy, Brooklyn Bridge, and Henry Hudson Bridge. Williamsburg, Manhattan, and Queensboro bridges trigger a lower-level-only warning. Car mode has an optional Avoid Parkways toggle.
Custom From address — type any address or map location name in the From field to route from somewhere other than your current location. Resolves against map locations first (e.g. "BK1", "Spring Street MTS"), then geocodes via Nominatim as fallback.
Map Settings — blue steering wheel button opens a settings panel with Car / Truck routing mode toggle (SVG icons) and Avoid Parkways toggle.
Map Filters — by type and by borough — green filter button lets you individually show/hide each facility type. New Borough Labels section hides all markers and labels in each borough independently (Manhattan, Brooklyn, Queens, Bronx, Staten Island, New Jersey). Filters persist through zoom/pan. Show All / Hide All resets both sections.
SanTrackMaps watermark — slanted logo in the bottom-right corner of the map replacing the Leaflet attribution.
Label collision detection — all map labels and icons are registered with a shared collision manager that prevents overlaps when zoomed in past zoom 16, running on every zoom/pan event.
District boundary data embedded offline — all 59 district polygons are permanently embedded in the app file and work without internet. Only the base map tiles and live routing require a connection.
Beta v0.9.4 June 22, 2026
Beta v0.9.3 June 21, 2026
Beta v0.9.2 June 17, 2026
Beta v0.9.1 June 15, 2026
Beta v0.9.0 June 13, 2026
Profile page reorganized — sections grouped into color-coded categories (Profile, Pay & Compensation, Schedule, Finances, App Settings) with SVG icons and tinted pill headers for easier navigation.
Info & Tools page reorganized — buttons grouped into color-coded categories (Operations, Career, Health, App) matching the profile page style.
Chart Changes — new section in Profile to log when your SW number changed. The most recent entry on or before a shift date is used for chart day tracking. Also includes a Chart Date Overrides tool to move specific chart days to a different date and lock them so auto-fill never overwrites them.
Longevity Pay — new section in Profile to track longevity pay history with effective dates. The active longevity amount is automatically added on top of your base salary for all pay calculations.
Detached garage tracking — log and edit shifts now include a collapsible Detached field under the OOT dropdown. When set, the calendar grid and This Week's Shifts show a "OOT → Detached" badge (yellow if OOT, dark if home garage). Purely informational — no effect on pay or hours.
Holiday pay fix — holiday pay was sometimes calculated at the regular rate. Fixed by checking the shift date against all 13 DSNY-observed holidays at calculation time, regardless of the logged function type.
Sunday pay fix — Sunday premium (2x) was sometimes not applying correctly. Same date-based fix ensures the correct multiplier is always used.
Truck Ledger History — new Truck History button in the Truck Ledger page to search and view trucks you've logged in the past.
Light mode readability — This Week's Shifts — pay amounts, day names, and date numbers now render as crisp dark text with no text-stroke muddying them up. Month names retain their colors with a clean black outline.
Day name font weight — MON/TUE/etc. now match the date number weight (600) for a uniform look across the row. Added letter-spacing for better legibility.
This Week's Shifts header — label font size increased and now shows full month names (e.g. June 8 – June 14). Past weeks from a different year append a short year suffix (e.g. '25).
Cloud sync data-loss fix — added a truncation guard on login: if the cloud returns fewer shifts than are stored locally, the merge is skipped and local data is preserved. Also added a serialization sanity check in cloudSync that aborts the push if the shift count doesn't match, preventing corrupt data from reaching Supabase.
Sick Tracker — new page accessible from the homepage and Info & Tools. Shows A/B/C attendance categories with auto-calculated instance breakdowns, reset dates (1st of next month, next year), and a collapsible sick day history grouped by year.
Relay Log changes — selecting Relays as the function in Edit Shift now hides Section & Route, Partner Name, and Truck ID fields and surfaces a Relay Truck ID's section instead. Supports multiple truck ID entries for both the primary function and a 2nd function. OT options are now grouped under a collapsible Overtime Options panel.
Beta v0.8.0 June 11, 2026
Truck Ledger — new section in Info & Tools. Manually log trucks by ID with a defect checklist (15 items) and an asset checklist (10 items), plus optional notes. Each entry shows green asset pills and red defect pills. Entries can be edited or deleted with a confirmation prompt. Date is auto-captured on save and displayed as "Last Updated."
Countdowns replaced — the Countdowns button in Info & Tools has been replaced by Truck Ledger.
Achievements moved — Achievements button removed from the homepage and added to the Info & Tools grid alongside Career Statistics.
Function input capitalization — first letter of typed function names is now auto-capitalized. Selecting from the dropdown shows the label (e.g. "Garbage") instead of the raw value. Edit modal pre-populates with the label as well.
Truck ID field — "Did you down any trucks?" question replaced with a free-text Truck ID field in both log and edit modals.
Calendar day painter — tap the color palette icon (marked NEW) above the right arrow on the calendar to pick a color, then tap any day to paint it. Supports 7 rainbow colors plus custom hex input. Options to clear all colors for the current month or remove a specific color across all months. Colors persist per user.
Comp Hours locked to home garage at time of shift — comp hours no longer change if you transfer to a new garage. History is preserved as earned. Log garage transfers with effective dates in the new "Garage Change for Comp Hours" section in Profile. The comp hours detail page now shows your home garage at the time of each event.
Salary history tracking — log salary changes with effective dates in the new "Salary Changes" section in Profile. Pay calculations for any given shift automatically use the salary that was active on that date.
Profile page reordered — collapsibles reorganized to show the most important sections first: My Info, Edit Profile, Display, Salary Changes, Garage Change for Comp Hours, Loans, Backup & Restore.
Beta v0.7.0 June 7, 2026
Light Mode — new Display setting in Profile to toggle light/dark theme. Full light mode with white cards, dark text, readable labels, and preserved accent colors throughout the app. Affected elements include: all card backgrounds and text, nav bar, form inputs and selects, shift log labels and radio buttons, time preset buttons (day buttons outlined dark, night buttons outlined blue), calendar month gradient colors preserved with dark outline, calendar day numbers in dark gray, calendar nav buttons, V-week numbers and SW chart numbers in dark gray, chart day and vacation button SVGs in black, XWP/FMLA/SICK/LODI/MIL/PAT button SVGs and text, "San" in the SanTrack logo stays white with black outline matching "Track", homepage This Week's Shifts month names with black outline, all section titles, tags, and empty state icons, weather button (yellow with white text), seniority button (green with white text), locations button (blue with white text), worker name and badge number (white with black outline), Reddit and info icons, header bottom border, and pill text in This Week's Shifts.
Compact Cards & Large Text — two additional Display settings: Compact Cards reduces dashboard card padding; Large Text increases font size app-wide. Both persist per user.
UI polish — SanTrack logo black outline, XWP/FMLA/SICK/LODI/MIL/PAT buttons redesigned with green text and black border, dropdown headers now green, emoji icons replaced with SVGs throughout.
Homepage header redesign — removed the green brush stroke PNG behind the user's name. Name, garage, and badge number now appear in a compact tab attached flush to the top-left of the pay card, styled as a three-column strip matching the pay card font. The tab shrinks to fit its content and the top-right corner of the pay card is rounded independently.
Badge number display cleaned up — "Badge #" prefix removed; only the number is shown in the identity tab.
Light mode identity tab — name, garage, and badge text render in plain black in light mode with no stroke or outline.
Homepage layout tightened — top padding of the main content area reduced so all pages sit closer to the header.
Weather, Seniority, Locations buttons repositioned — the three quick-access buttons on the homepage now align with the bottom of the pay card.
Achievements moved to Info & Tools — the Achievements button is removed from the homepage and now lives in the Info & Tools grid alongside Career Statistics.
Header flair — "LET'S GO KNICKS" added to the app header in Kalam brush font, with "LET'S GO" in Knicks blue and "KNICKS" in Knicks orange.
Beta v0.6.0 April 25, 2026
Beta v0.5.0 April 21, 2026
Beta v0.4.0 April 16, 2026
Beta v0.3.0 April 14, 2026
Beta v0.2.0 April 12, 2026
Beta v0.1.2 April 7, 2026
Beta v0.1.1 April 9, 2026
Beta v0.1.0 April 6, 2026
v0.0.8 March 31, 2026
v0.0.7 March 30, 2026
v0.0.6 March 29, 2026
v0.0.5 March 25, 2026
v0.0.4 3/23/26
v0.0.3 Early 2026
v0.0.1 – v0.0.2 Initial builds
Pay History
Salary Per Period
Track your salary for each pay step period. Used for accurate pay calculations.
Career Statistics
Route Configuration BETA

Take a photo of your route sheet and AI will analyze it to tell you the best order to run the lines.

Or select a photo from your library
Loading citywide total...
Seniority Tracker 0
Move All Seniority
Add San Man
Seniority
Name

No one added yet. Add a San Man above.

Seniority Projection

Not enough data to project. Add people to the Seniority Tracker and make sure your hire date is set in Profile.

⚙ Admin Panel
J. Smith
Profile
My Info
Edit Profile
App Settings
Display
Pay & Compensation
Salary Changes
Longevity Pay
Schedule
Chart Changes
Garage Change for Comp Hours
Finances
Loans
Backup & Restore
Special Pay Rules