0%
Aymen
Back to Works
WebIn progress2026

CRM Platform

An in-progress multi-tenant B2B CRM where each company works in its own workspace to track leads, deals and customers and carry a sale from estimate through proposal, contract and invoice, built on a Fastify API that also covers projects, support tickets, a knowledge base and team chat.

My Role
Full Stack Developer
Timeline
Dec 2025 — Mar 2026
Status
In progress
CRM Platform
Overview

CRM Platform is a multi-tenant B2B system under active development: every company operates inside an isolated workspace where its team follows leads and deals, manages customer records, and moves each sale through the full document chain — estimate, proposal, contract, invoice. The same backend reaches past classic CRM into project tracking, support tickets, a knowledge base and internal team chat, so a single API serves the whole workflow.

The codebase is a monorepo with an apps/ layout, built around a Fastify API written in TypeScript on top of PostgreSQL. A docker-compose setup reproduces the full stack locally for development. The project took shape over roughly 75 commits between December 2025 and March 2026 and remains a work in progress.

Key Features

What it does

🏢

Isolated company workspaces

Each tenant company gets its own workspace, keeping its leads, deals and customer data separated from every other tenant on the platform.

🧾

Estimate-to-invoice pipeline

A sale advances through a connected document chain — estimate, proposal, contract, then invoice — so the commercial paperwork follows one deal from first quote to billing.

🧩

Modules beyond sales

The same Fastify API also serves project tracking, support tickets, a knowledge base and team chat, so the work that follows a sale stays in the same platform.

Technologies Used

Built with

Frontend

TypeScript

With one language across the monorepo's apps, TypeScript lets the request and response types for deals, documents and tickets be shared and checked at compile time instead of discovered at runtime.

Tailwind CSS

Backend

Fastify

Fastify's plugin encapsulation and schema-validated routes keep a single API that spans CRM, tickets, knowledge base and chat organized as distinct modules without splitting into separate services.

Data

PostgreSQL

A CRM is inherently relational — companies, contacts, deals and the documents attached to them — and PostgreSQL enforces those foreign-key relationships while keeping each tenant's data transactionally consistent.