The problem
Before the solution, there was a clear need to consolidate several business-critical processes in one platform. Workflows such as lead management, case management, viewings, publishing and reporting depended on integration between multiple systems and manual steps.
This created limitations in overview, data flow and uniformity in processes. When processes are fragmented, follow-up, coordination and documentation become more time-consuming, especially in a setup with both internal workflows and external channels.
The project goal
The goal was to establish a unified platform that streamlines the sales and leasing process through better structure in data and workflows. This included:
In addition, the goal was to create a technical foundation that can be extended with further automation and integration over time.
- better handling of leads, contacts and cases
- more coherence between CRM and calendar activities
- support for publishing/synchronisation to relevant channels
- Reporting in a uniform format that can be shared and exported
The solution
A monorepo-based platform has been developed with:
The solution consolidates several core functions in the same system:
The platform is designed to reduce manual friction between modules and create a more coherent operational setup.
- Backend: NestJS (TypeScript)
- Frontend: Next.js (TypeScript)
- Database: PostgreSQL
- Authentication: Microsoft Azure AD (OAuth2/OpenID Connect) with role-based access
- CRM for persons, companies, relations and leads
- Case management for property/tenancy and related processes
- Viewings with Outlook integration
- Publishing and sync flows to WordPress, Lokalebasen and Ejendomstorvet
- Report generation with HTML/PDF export and sharing
- Support for text generation in selected flows
How the system works
The system works as a unified flow from input to output:
This provides a setup where core processes are handled in one solution rather than in separate tools.
Input to the platform
Data comes in via user actions in CRM/case management and via integrations, e.g. webhooks from WordPress or calendar events from Outlook.
Processing in backend services
Backend validates, maps and enriches data, links leads to contacts/cases, handles status fields and controls synchronisation to external platforms.
Output to users and channels
The result is displayed in the frontend as updated cases, viewings and reports, and is published/synchronised to relevant channels. Reports can be shared via links and exported as HTML/PDF.
Current project status
The system is implemented in core parts and in use in the workflows established in the project. The documentation also shows that the platform continues to be developed and that some functions are still planned or under development.
There are not yet documented long-term effect measurements or customer feedback in the project material. Data, user experience and further operational experience are therefore still being gathered.
Key insights from the project
The project shows that the value in this type of solution arises when CRM, case management, integrations and reporting are designed as a coherent system rather than separate components.
An important insight is also that the integration layer and data mapping are crucial for creating stable workflows across internal processes and external channels. At the same time, the project points to role-based access and clear status flows being central to operational use in an organisation.
For other organisations in commercial leasing, the case illustrates that a modular architecture can support both current needs and gradual expansion without having to rebuild the entire platform.
Future potential
The project's architecture provides a realistic basis for further development, including:
- Extended automation of report distribution via scheduled jobs and email integration
- Integration of additional website and traffic data in the report module
- Continued maturation of channel integrations and synchronisation flows
- Extensions of existing modules in line with new operational needs
The potential lies in building on the already implemented platform so that more processes can be handled with the same data foundation and governance.