TechTool: project management for office and field staff
Context
Two types of users, one system. Admins work at a desk in a browser and need many features: projects, customers, employees, invoices, materials and absences. Field workers use a phone, often with a bad connection, and need only a few things to work really well: time tracking, document upload and project status.
One responsive app for both groups would have been worse for each of them. Two separate apps with separate data would have split the data model.
The decision
One .NET backend and two separate clients: Next.js for the admin dashboard and Flutter for the field app. The backend owns all the business logic. Each client only handles its own UI. The field app is kept small on purpose. It is not a mini version of the dashboard.
User accounts through Entra ID
User accounts are created automatically through Microsoft Entra ID instead of by hand in the app. The client already manages its staff in Microsoft, so this solves a common problem: someone leaves the company but still has an active account in the app. Now offboarding happens in one place.
Features
Project, customer and employee management, time tracking, document uploads, project status tracking, multiple languages, absence and material management, built-in chat, and invoicing.
Stack
Next.js · .NET · C# · Flutter · Azure · MS SQL Server · Microsoft Entra ID