BIKZ.DEV — CASE No. 10 JAS TARLAN · 2024 FLUTTER + LARAVEL · KASPI · SIP · WHATSAPP · BITRIX FOR FAMILIES OF SERVING CONSCRIPTS & INMATES +7 775 878 17 32 BIKZ.DEV — CASE No. 10 JAS TARLAN · 2024
Case · No. 10
2024
Mobile · Web · Voice · CRM

JAS
TARLAN.

A way for the families of conscripts and inmates to stay reachable. The serving relative makes calls from a registered taxophone in their barracks or facility; the family buys, tops up and audits the prepaid card from a phone. A Flutter app, a Kazakh-Russian-English website, a Laravel back-office and a stack of integrations — Kaspi Pay, SIP, WhatsApp Business, Bitrix24 — wired together for a use case where reliability is non-negotiable.

Telecom · Payments Mobile + Web + Voice 2024
Jas Tarlan — welcome screen with the JT mark and a four-tile main menu (Buy card, Top up balance, Card balance, Call detail)
Year
2024
Length
6 mo
Scale
4 integrations
Status
Shipped
01

Kaspi Pay

Top-ups via Kaspi deeplink and QR. Webhook verification against the profile's MSISDN before crediting card balance. Receipts archived against the user.

Payments · Webhooks
02

SIP soft-switch

Each card is a SIP-side identity with per-minute deduction and a family-managed whitelist. Top-ups signed with HMAC; the switch only accepts credits from the back-office.

Voice · Routing · HMAC
03

WhatsApp Business

First-line chatbot for payment confirmations, missed-call alerts, balance warnings and self-service. Threads escalate to a Bitrix24 deal without losing context.

Notifications · Bot
04

Bitrix24 CRM

Support agents work the escalations, fraud-flagged top-ups and KYC edges. Every Jas Tarlan profile lives as a Bitrix contact tied to its MSISDN.

CRM · Support · KYC
01

About the project

// 4 min read

In Kazakhstan, conscripts of the Ministry of Defence and the National Guard, and people held in penitentiary facilities of the Ministry of Internal Affairs, can only place outgoing calls from registered taxophones on the premises. Each taxophone reads a prepaid card; each card has a balance and a whitelist of family numbers it is allowed to dial. The family, on the outside, has to keep that card alive — buy it, top it up, audit who called when, dispute fraudulent deductions. Before Jas Tarlan, that work happened over manual bank transfers and SMS receipts. We were brought in to compress all of it into a single app on a parent's phone.

The product is a Flutter mobile app, a Kazakh / Russian / English website at jastarlan.kz, and a Laravel back-office where support agents work. The app surfaces four jobs — buy a new card, top up an existing card, check the balance, see the call detail — and a profile area that holds the user's cards, their purchase history, their top-up history, the offer agreement, and a delete-account flow that respects the data rules around this kind of clientele. The website mirrors the same flows for browsers, plus a public "check this card" form that doesn't require an account, so a relative without the app can confirm the balance the night before a call window opens.

jastarlan.kz home page in Kazakh — dark hero with ‘Жақындарыңызбен байланыста болыңыз’ (Stay in touch with your loved ones), explanatory copy referencing the Ministry of Defence, National Guard and penitentiary facilities, two CTAs (Message operator, Download the app), a yellow Bastaý taxophone-card preview with a Check Card button
01jastarlan.kz — KK / RU / EN landing with operator-chat and card-check entry points

The interesting part is what sits behind the four buttons. Each card is a SIP-side identity — its number is provisioned in a soft-switch that handles the actual call routing from the taxophone to the family destination, with per-minute deduction and the whitelist enforcement against the family's allowed numbers. Top-ups arrive over the Kaspi Pay integration: the user picks an amount, the app opens a Kaspi deeplink or a QR, the payment lands on a Kaspi webhook that we verify against the user's phone-bound profile and the card's MSISDN before crediting balance. The first-line conversation with the support team runs through a WhatsApp Business chatbot — payment confirmations, missed-call notifications, balance alerts — and any thread the bot can't close opens a Bitrix24 deal so a human can pick it up without losing the chat history.

Bastaý taxophone-card detail screen — yellow card with the JT logo and a QR code linking to jastarlan.kz, with three large round-cornered tiles for Top up, Balance, and Add card
02Card screen — top up, check balance, add another family member's card
Jas Tarlan profile screen — phone +77770204146 in the header, balance 130 ₸, six tiles (My cards, Profile history, Purchase history, Top-up history, Offer, Delete profile), bottom nav with Home / Profile / Support / Instructions
03Profile — cards, histories, agreement, and an account-delete that respects the data rules

Security is not optional in this category. The Laravel layer pins each profile to a single MSISDN with SMS-OTP, ties Kaspi receipts to the phone that paid, and signs every SIP-side credit with an HMAC so the soft-switch only accepts top-ups from the back-office it trusts. The whitelist of numbers a card is allowed to dial is set on the family side and enforced on the SIP side — the taxophone cannot reach a number the family hasn't approved. Suspicious patterns (top-ups from a phone that doesn't match the profile, sudden balance burns, calls outside the whitelist) flag the deal in Bitrix24 for an agent to call back manually. The point of the work was never the surface — it was making the surface small and trustworthy on top of a stack with a lot of moving parts.

02

Stack

// what we shipped on
Flutter Dart Laravel PHP 8 MySQL REST API Kaspi Pay SIP WhatsApp Business API Bitrix24 HMAC signing SMS-OTP App Store Google Play
Next · International · No. 11 · 2025

MIAMI
ANALYTICS.

← Previous: Alphamed