Instruction file imported from Dvir-Ratzon/keyflow-connect-spaces (
.github/instructions/2.instructions.md). Copyright stays with the author.
Coding standards, domain knowledge, and preferences that AI should follow.
Coding standards, domain knowledge, and preferences that AI should follow.
KeyFlow System Specification – Full English Version
KeyFlow is a tenant-contractor service management platform, designed to be extremely easy to use, with a clean, elegant, and intuitive interface. The system enables management of service requests, communication between tenants and contractors, and file uploads – with full RTL and Hebrew support.
System Purpose:
Tenants:
Submit service requests
Track request statuses
Receive announcements from the contractor
Upload important documents (contracts, certificates, etc.)
Contractors:
Manage service requests submitted by tenants
Send responses, update statuses, and close requests
Send general announcements to all tenants in a project
Manage tenants and project/apartment data
👤 Roles & Permissions:
Tenants only see their personal information: service requests, statuses, documents, and messages.
Contractors have access only to their associated tenants and can manage requests accordingly.
🧩 Core Features:
Tenant-Contractor Linking via Unique Code:
Each contractor can generate a unique code for every project/building under their responsibility
Each code represents a specific project/building defined by the contractor
During signup, the tenant enters the code provided by the contractor
The system automatically links the tenant to the correct contractor/project
Contractors can manage codes: view, edit, revoke, and create new ones
Login and registration with Supabase Auth (email + password)
Role-based dashboard (tenant or contractor)
Service Request Submission including:
Category: Electricity / Plumbing / HVAC / Gas / Dampness / Windows / Doors / Cleaning / Painting / Other
Status: Open / In Progress / Closed
Optional file/image upload
General Announcements – Contractors send updates and messages to tenants
Tenant Document Management – Upload and manage personal documents
Tenant & Project List Management for contractors
CSV Import or Manual Entry of Tenants/Projects
🧑🎨 UX/UI Design:
Modern, clean, and elegant design – pleasant colors, clear text, and readable fonts
Full RTL and Hebrew support – right-aligned text, localized field order, RTL-appropriate UX
Mobile responsive design – full adaptation to small screens (phones/tablets), including touch-friendly buttons and layout
Clear and accessible forms – every field with a label, error messages under the field, and immediate user feedback
Prominent and accessible buttons – one primary action per screen with clear contrast and intuitive action
Loading states – show spinner/loader during operations like submission, login, or data fetching
Error and success notifications – toast messages in Hebrew for success, warning, and error
Consistent visual style – all UI elements should maintain design consistency
Simple navigation – top or side menu with role-based structure
⚪ White Label Support for Contractors:
Each contractor can upload their company name and logo
The name and logo are shown:
On the login screen
In the system header
These are stored per contractor and visible only to their tenants
⚙️ Technologies:
Supabase – Auth, database, and file storage
React or compatible low-code platform (e.g., Base44)
profiles table – stores user role and account info
Supabase Storage – for images, documents, and file uploads
📦 General Notes:
The system should be modular and scalable
Must support multiple contractors and tenants simultaneously, with isolated data per project
Built for commercial use and production-ready, supporting business logic per user role