---
title: "Beeasist — SaaS CRM and AI assistant"
description: "A high-traffic SaaS CRM platform for appointment-based businesses, where I ran the architectural design, the AI layer and both backend and frontend."
period: "2024 — 2026"
role: "Full-Stack Engineer"
stack: ["Laravel", "PHP", "PostgreSQL", "Redis", "Next.js", "React", "Tailwind CSS", "MCP"]
url: "https://ibrahimasik.com/en/projects/beeasist-saas-crm"
site: "https://beeasist.com"
locale: "en"
---

# Beeasist — SaaS CRM and AI assistant

> A high-traffic SaaS CRM platform for appointment-based businesses, where I ran the architectural design, the AI layer and both backend and frontend.

- **Role:** Full-Stack Engineer
- **Period:** 2024 — 2026
- **Stack:** Laravel, PHP, PostgreSQL, Redis, Next.js, React, Tailwind CSS, MCP
- **Live:** https://beeasist.com

## The product

Beeasist is a SaaS CRM platform for appointment-based businesses. Multi-branch structures,
staff calendars and dynamic booking rules sit at the centre of the product — which makes
concurrency and the calendar model its most critical engineering problem.

I ran the platform’s architectural design, its AI layer, and both the backend and frontend.

## The AI layer

I engineered a custom **MCP (Model Context Protocol)** infrastructure on Laravel.
Integrating Prisma PHP and the Vercel AI SDK, I deployed an AI assistant that lets users
drive operational workflows in natural language.

The real work here is not wiring up a model; it is defining the boundaries of the tools the
assistant can reach. An assistant that can create a booking should not, by the same token,
be able to delete one by accident.

## Booking and concurrency

I developed a highly concurrent appointment optimisation architecture supporting
multi-branch setups, staff and dynamic calendar management. A correctness guarantee that
does not leak between two simultaneous requests for the same resource is not negotiable in
a product like this.

## Infrastructure and performance

- Optimised the Laravel backend with **PostgreSQL** and **Redis** queues to absorb traffic
  spikes.
- Moved push, SMS, email and WhatsApp notifications onto async processing, so delivery
  latency no longer shows up in request time.
- Integrated **Sentry** for production monitoring, so bottlenecks and errors surface before
  a user reports them.

## Application layer

I built financial tracking and reporting modules, plus online payment integrations, from
scratch over REST APIs. Web and mobile apps are built with **Next.js**, **React** and
**Tailwind CSS**, with state centralised in **Redux Toolkit** so both clients share the
same business rules.
