Workforce management for shift-based teams.
Shift scheduling · geofenced time clock · absences & availability · team chat
Web app · Website · support@wrenta.co
Wrenta is a full-stack workforce management platform for businesses that run on shift-based schedules — retail, hospitality, logistics, healthcare, and more. Employees get a mobile app for their schedule, a geofenced time clock, absences, availability, and team chat; managers run scheduling, approvals, locations, and reporting from the web dashboard. The UI ships in English and German.
For employees
- Clock in / out with GPS geofencing — attendance is verified at the workplace
- My schedule — upcoming shifts, week view, shift details
- Open shifts — see and claim unassigned shifts
- Absences — vacation, sick leave, and other requests, with entitlements
- Time account — overtime balance and monthly trend
- Availability — recurring weekly availability windows
- Team chat & announcements — with report/block moderation
- Push notifications — shift changes, approvals, announcements
For managers & admins
- Team schedule — all staff shifts for any day, plus shift create/update/swap
- Time-tracking review — accept clocked sessions; auto clock-out for forgotten ones
- Absences, entitlements & swap requests — review and approve
- Employees, locations & roles — manage the org
- Announcements — broadcast to the whole team or selected people
| Repo | Component | Stack |
|---|---|---|
| wrenta-mobile | Employee mobile app (iOS & Android) | Flutter · Provider · Firebase |
| planno_backend | REST API & business logic | Node · Express · Prisma · PostgreSQL |
| plannoo_website | Web admin dashboard | React · Vite · Zustand · Tailwind |
| wrenta_landingpage | Marketing site | Static · Cloudflare Pages |
- Mobile — Flutter (Dart), Provider,
geolocatorfor GPS/geofencing, Firebase Cloud Messaging + Crashlytics. iOS 13+ / Android 8+. - Web — React + Vite + TypeScript, Zustand, Tailwind CSS.
- Backend — Node.js (Express) + TypeScript, Prisma ORM, PostgreSQL, JWT access/refresh auth, Zod validation, server-side geofencing (Haversine).
- Infra — API on Render, web & landing on Cloudflare Pages.
┌─────────────────────┐ ┌─────────────────────┐
│ Flutter mobile │ │ Web dashboard │
│ (iOS + Android) │ │ (React + Vite) │
└──────────┬──────────┘ └──────────┬──────────┘
│ HTTPS │
└─────────────┬─────────────┘
│
┌──────────▼──────────┐
│ REST API (Node) │
│ Express + Prisma │
└──────────┬──────────┘
│
┌──────────▼──────────┐
│ PostgreSQL DB │
└─────────────────────┘
Key decisions
- Geofencing is enforced server-side — the mobile app checks location for UX, but the API independently validates GPS on every clock-in.
- Clock-out is location-optional — captured for records, never blocks the action.
- Forgotten clock-outs are auto-closed at the scheduled shift end and flagged for manager review.
Each repo has its own README with setup steps. In short:
# Mobile (Flutter)
flutter pub get && flutter run
# Web dashboard (React + Vite)
npm install && npm run dev
# Backend (Node + Prisma)
npm install && npm run db:migrate && npm run devThe mobile app targets the production API (https://api.wrenta.co) by default.
No third-party ad tracking and no selling of data. Location is used only to verify on-site presence at clock-in. Users can delete their account and data from within the app. See the Privacy Policy.
© Wrenta — proprietary. All rights reserved.