Skip to content
Daniyar Kurmanbayev Contact

UniClub

iOS App + Backend · Booking Platform

Marketplace for booking children’s classes with iOS app and Django backend.

iOS Developer + Backend Developer (mobile stack). Also supported the main website booking flow. Discontinued (app removed from the App Store)
  • iOS App + Backend
  • Booking Platform
  • UIKit
  • Alamofire
  • Django
  • Celery
UniClub Banner.png
UniClub screenshot 1UniClub screenshot 2

Summary

Two-sided marketplace for kids’ study and sports activities in Nur-Sultan: discovery, filtering, class details, schedule selection, and request-based booking. I built the iOS app and mobile backend from scratch and supported the website booking experience. The product covered both parent-facing browsing/booking and partner onboarding and operations through admin tooling. Key highlights:

  • iOS app: filter-first discovery, schedule picker, cart, and booking request forms
  • Mobile backend: DRF + Celery, plus Telegram bot for collecting course reviews
  • Web backend: phone auth, subscriptions, lesson generation, booking, and partner workflows

Quick facts

  • Role: iOS Developer + Backend Developer (mobile stack). Also supported the main website booking flow.
  • Timeframe: Not specified
  • Platform: iOS + Web + Backend APIs
  • Status: Discontinued (app removed from the App Store)
  • Team: Solo for iOS + mobile backend (supported a separate web team/product)

Problem

  • Needed a complete marketplace flow: discovery → schedule → booking request, plus partner acquisition.
  • Required strong filter dimensions (age, activity type, location, time of day) with fast UX on mobile.
  • Had to support operational constraints: capacity, schedules, verified reviews, and async notifications.

Solution

I delivered an end-to-end mobile stack: a UIKit iOS client with reactive bindings and a Django REST backend for filters, courses, and application submissions. The backend also integrated a Telegram bot for collecting reviews and shipped Swagger/Redoc docs for API consumers. The broader platform included a separate web backend with partner dashboards, scheduling, subscriptions, and attendance tracking, which I supported for booking-related needs.

  • Focused on a predictable booking pipeline and clean admin-driven content management

Architecture

  • iOS: UIKit + SnapKit UI, RxSwift bindings, shared cart/filters state propagated via subjects
  • iOS networking: router-based API layer with Codable decoding and paginated lists
  • Mobile backend: Django REST Framework apps (filters, courses, applications), Celery + RabbitMQ jobs
  • Telegram bot: webhook endpoint → TeleBot flow → persisted reviews in DB
  • Web backend: modular Django apps for clubs/courses/lessons/subscriptions/bookings with JWT auth
  • API docs: Swagger + Redoc for backend endpoints and partner/client workflows

Tech stack

  • iOS: Swift, UIKit, RxSwift, SnapKit
  • Architecture: MVVM-lite with shared state, Router-based networking, Codable models
  • Backend/Infra: Django, DRF, Celery, RabbitMQ, PostgreSQL
  • Tooling: Docker, Swagger/Redoc (drf-yasg), Firebase, Kingfisher, Lottie

Hard problems solved

  • Designed a filter model that supports many dimensions without breaking list pagination and UX
  • Built schedule selection that maps weekday/time picks into stable booking payloads
  • Implemented request-based checkout (not instant payment) with reliable success states and tracking IDs
  • Kept cross-screen state consistent (filters, cart, selected lesson times) via reactive streams
  • Shipped a Telegram bot review flow that enforces structure and persists results via webhook processing
  • Orchestrated async tasks (emails/notifications) safely with Celery and transaction boundaries

Impact / Results

  • Delivered iOS app + mobile backend from scratch with a complete discovery-to-request flow
  • Enabled lead capture and partner onboarding via dedicated forms and admin-managed content
  • Provided backend documentation and operational tooling to support iteration and support workflows