Clients.Express

Clients.Express
Clients.Express

The preview of the site may differ from the current version. All information is provided for presentation purposes only and may be partially or completely outdated.

Development of a B2B SaaS platform Clients.Express for automating appointment scheduling and billing in the service industry with built-in AI agents and Telegram integration, where I served as the architect and sole developer.

Year
2026
Website
clients.express
Technologies
AI, API integrations, SaaS, Web application
Role
Architecture, development, product — solo
Format
My own product, B2B SaaS
Timeline
37 days to production
Backend
PHP 8.4, no frameworks

A Solo Marathon: From init to Production

March 25, 2026, first commit — a laconic “init”. 37 days later — a live B2B SaaS in production taking real payments. Between those two points: 373 commits, one developer and not a single framework.

Clients.Express is a platform for service businesses: barbershops, clinics, salons, auto shops, hotels, gyms. Under one roof:

  • Client base — a full CRM with tags, notes and custom fields;
  • Online booking — a calendar with five modes and conflict checking;
  • Team and roles — owner, manager, employee, ownership transfer in one click;
  • Public pages — a ready company landing page on its own subdomain;
  • Billing — plans, client wallet, promo codes, payments via Monopay;
  • An AI agent in Telegram — books an appointment from the phrase “book me with Olia tomorrow afternoon”.

Exactly what I build for clients as web apps and portals and AI agents — except this time the product is my own. Below: what it is made of — the numbers, the palette, the stack, the commit history, and the parts that broke against reality.

The Marathon in Numbers

37

days to production

March 25 – May 1, 2026

373

commits

Ten a day on average, solo

62

core modules

Custom architecture — I can explain every module

3

AI providers

OpenAI, Claude, Gemini — with token and cost accounting

Why From Scratch, Not on Something Ready

For the first few days I honestly tried the “fast” route — Laravel + Filament. In a demo it is magic: one command and the admin panel is there. Then you need a non-standard billing flow, and you are no longer writing features — you are negotiating with someone else’s framework.

So the final stack is brutally simple: plain PHP 8.4 with no frameworks, Twig, MySQL over PDO, and a dozen hand-picked Composer libraries. My own router, my own admin, my own data model. No inherited technical debt — 62 core modules, and I can explain every one of them.

The code was written by two AI assistants — Codex and Claude Code — human-in-the-loop: the architecture, the module boundaries and the contracts stayed with me. AI accelerates the person who already knows what they are doing.

Palette

Typography

Headings Instrument Serif 400 · Italic — Latin only; Cyrillic on the landing falls back to Georgia
AaBbCcDdEeFfGgHh 0123456789 Clients.Express — your clients under control!
Interface and body Geist 300 · 400 · 500 · 600
AaBbCcDdEeFfGgHh 0123456789 Client management, bookings and team — in a single platform.

Three Features I Am Proud Of

The product has more than fifty features, but three of them are matters of principle.

  • The AI agent in Telegram — not a menu of buttons but an agent loop with tool calls: the model checks free slots and creates the booking itself. No operation writes to the database without an inline confirmation from the user — a hallucination simply never gets the “Confirm” button.
  • Billing with graceful degradation — the plan belongs to the company, not to the account. An overdue subscription blocks only new bookings for that company; the profile, the wallet and everything else keep working. No broken interfaces in front of a client.
  • Grown-up security — three kinds of 2FA (TOTP, SMS, Passkeys via WebAuthn), geo-tracking of sessions, automatic logout on anomalies, and an active-session manager modelled on Apple’s: a freshly created session cannot terminate an older one.

Stack and Integrations

  • AI
  • API integrations
  • SaaS
  • Web application
  • PHP 8.4
  • Twig
  • MySQL
  • Redis
  • Telegram Bot API
  • OpenAI
  • Claude
  • Gemini
  • Monopay
  • AlphaSMS
  • WebAuthn / Passkeys
  • Google OAuth
  • Cloudflare Turnstile

37 Days in Commits

  1. March 25

    The “init” commit

    The marathon starts: router, Twig, sessions. Twenty-five commits on day one.

  2. March 27

    2FA on day three

    TOTP, SMS and Passkeys via WebAuthn — security went into the foundation instead of “we will add it later”.

  3. March 31

    Live booking + AI

    A calendar with five modes, conflict checking — and the first AI integration with token accounting.

  4. April 10

    Billing

    Checkout, PDF invoices, client wallet. The money became real.

  5. April 27

    Monopay

    After LiqPay said no, Monobank gave me acquiring — fast and like a human being.

  6. May 1

    The AI agent in Telegram

    An agent loop with tool calls on top of the booking engine — the hardest module in the product.

  7. May 2

    Production

    A new landing page and the first live client — a barbershop. The marathon finished in 37 days.

Crash-Tested by Reality

For 37 days everything worked: demo accounts, a pretty grid of slots, tidy scenario tests. Then I visited the first live client — a barber — and heard: “listen, I can squeeze a client in between 14:15 and 14:40”. Between. Not at 14:00 and not at 14:30.

Not one of my booking patterns allowed for that — I was thinking in slots, and the barber thinks in living people. Two nights later barbers got manual editing of appointment boundaries in five-minute steps that does not break the price list.

The second thing to fall was the QR onboarding: the elegant “scan the code, land in the bot” flow died on a client with a single phone, who was shown that QR code on that same phone. A deep link instead of a QR — and the flow came back to life. UX is tested on people, not on the developer’s monitor.

Frequently Asked Questions

A SaaS platform for service businesses: a CRM with a client base, online booking with a calendar, a team with roles, public company pages on subdomains, billing and AI integration — more than fifty features in one service.

Because ready-made solutions cover the first 60% of the work — the part you see in a demo. The remaining 40% — multi-tenancy, non-standard billing, an AI agent — turns into a fight with someone else’s architecture. Plain PHP 8.4 gave full control and zero inherited technical debt.

The agent never writes to the database on its own. Every operation — a booking, a wallet top-up — requires an inline confirmation in Telegram. Add context isolation: one company’s agent physically cannot see another company’s data, and that is enforced in code, not in the prompt.

37 days from the first commit to production with real payments. 373 commits, one developer, two AI assistants in a human-in-the-loop setup.

This is the short version of the case. The full story of the marathon — LiqPay’s refusal, Monobank’s purring, and the barber who rewrote my architecture — is in the article “Solo Marathon: Building a SaaS with AI in 37 Days”. The product itself lives at clients.express — signing up is free.

Let’s discuss your project?

Free consultation + cost calculation

More projects

Osadchy Dental osadchyclinic.com.ua Together with my team I built a premium website, widget and AI-powered chatbot for Dr. Ihor Osadchy’s dental clinic.
Osadchy Dental
Melodiya Hir melodiyahir.com.ua “Melodiya Hir”: from spontaneous idea to reliable tool. We transformed complex operational booking tasks into an easy and understandable digital service.
Melodiya Hir
ELLE Uzbekistan elleuzbekistan.com Together with smplfy.eu and ELLE Uzbekistan, I created a large-scale project with unique functionality. In-depth business logic, custom solutions, and technical challenges made this project a real test that I was pleased to pass.
ELLE Uzbekistan
Engard engard.ua A complex challenge with a massive amount of unique business logic — a full-fledged e-commerce with a club membership system, discounts, promo codes, and individual conditions. I took on this challenge and brought the project to the finish line, despite all the difficulties.
Engard
Stolen Life stolenlife.org Stolen Life is a documentary-art photo project revealing ordinary Ukrainians whose lives were violently interrupted by Russia’s full-scale invasion. The protagonists stand naked beside the ruins of their homes—vulnerable, stripped of everything except their bodies and the uncertainty ahead.
Stolen Life
Monbar Cider monbar.com.ua Together with Nixwood, I created an online store for Monbar Cider. The team provided the design — I implemented the programming, adapted the logic of the catalog, cart, and orders to the brand’s specifics.
Monbar Cider
ARC BarberShop arcbarber.shop I created a vibrant youth landing page for my friends’ barbershop. Dynamic design, emphasis on atmosphere and booking convenience — everything to make the client immediately understand: they are expected here!
ARC BarberShop
DTF Streetwear donttakefake.com A special page for DTF Magazine — a series explainer about streetwear. Visually rich, structured for content, with an emphasis on readability and audience engagement.
DTF Streetwear
RISS riss.com.ua RISS is a conservative community fighting for a better future for Ukraine. I created a platform for uniting like-minded people, presenting ideas, and attracting new participants to the movement.
RISS
Clients Portal clients.kaplia.pro I developed a custom CRM system and client portal — convenient, functional, and an extremely necessary tool. Project history, documents, communication — all in one place.
Clients Portal
Bratstvo bratstvo.com.ua I created an online store for the Bratstvo brand on a custom e-commerce system, without WooCommerce. Personal account, order history, and flexible settings — everything aligns with the brand’s concept.
Bratstvo
AvtoEvakuator avtoevakuator.com.ua Official website for an auto evacuation company. Clear services, transparent tariffs, quick contact — everything to help the client reach out for assistance with one click.
AvtoEvakuator
Pawco www.mypawco.com PawCo is not just a website; it is the embodiment of my deep and genuine love for animals. Its development, maintenance, and constant improvement have taken over three years. This journey has left only warm memories and heartfelt gratitude to everyone I had the fortune to work with on this project.
Pawco
MediaOption mediaoption.agency I created a website for the Thai digital agency MediaOption in collaboration with the smplfy.eu team. I implemented technical solutions, adapted the design for WordPress, and ensured stable platform performance.
MediaOption
Safronovs’ Private Cheesery safronovfarm.com An online store for a private cheese dairy on a custom e-commerce system. Product catalog, cart, order system — everything is configured for the specifics of a local producer.
Safronovs’ Private Cheesery
10 Maple St, Port Washington, NY, 11050 10maplest.com I created in three days a concise and convenient landing page for office space rental in New York. Simplicity, speed, conversion — the main tasks of this project.
10 Maple St, Port Washington, NY, 11050
CRS Credit API crscreditapi.com The professional team at CRS Credit API developed a new version of their main website. They implemented original design ideas into a convenient Gutenberg editor, ensuring a fast, stable, and easy-to-manage platform.
CRS Credit API
Litslink Software Development soft-dev.litslink.com Created a full-fledged landing page builder for Litslink company based on WordPress Network with Cloudflare API integration. The ability to create an unlimited number of subdomains — perfect for scaling.
Litslink Software Development
Gallery KoloUa gallery.koloua.com BO “KOLO UKRAINE” is a mini site for the project, where for a donation you could receive a thank you in the form of a gift. I implemented the site in a semi-volunteer format, carefully transferring the design of the “Kolo” team into a stable, understandable, and adaptive system based on WordPress and WooCommerce.
Gallery KoloUa
RememberUs rememberus.org RememberUs is a website for a charitable initiative that supports the most vulnerable in Ukraine. It was created by a volunteer, with respect for the team’s mission: convenient, concise, without unnecessary details — all to help people quickly get involved in assistance.
RememberUs
Zhyvytsia zhyvytsia.com.ua Pine kvass is a unique drink that I enjoy drinking myself. For the brand Zhivitsa, I created a bright online store on WordPress with a custom e-commerce system, personal account, and order history. Easy to use, fast, and stable.
Zhyvytsia
SideUp sideup.com A corporate website for SideUp company. Clear structure, service presentation, and emphasis on professionalism — everything to build trust with B2B clients.
SideUp
Mriya mriya.kleynodwatches.com A landing page for a limited collection of watches in honor of the Mriya AN-225 aircraft. Part of the proceeds goes to the aviation reconstruction fund. An emotional project about a dream in the sky.
Mriya
Climate Home climate-home.com.ua Climate Home is a corporate website for an air conditioning selection and installation service. The goal is to convey expertise and simplicity: clear structure, warm visuals, and an emphasis on the first consultation. Each block works to build trust and prompt action.
Climate Home
Customer login

This site uses cookies

We use cookies to personalize content and ads, provide social media features, and analyze our traffic. We also share information about your use of our website with our social media, advertising, and analytics partners, who may combine it with other information you have provided to them or collected when you use their services. By continuing to use our site, you consent to our use of cookies and accept our Privacy Policy and Terms of Use.

Virtual assistant
Hi! I'm the KAPLIA.PRO virtual assistant! I can tell you about our services, portfolio projects, ballpark pricing, and how we work — from websites and eCommerce to web apps, CRMs, bots, and AI agents. Ask away!

By continuing with the AI assistant, I agree to the site’s terms of use and privacy policy.

AI assistant may make mistakes in responses