

Updated: May 11, 2026 / 8 min read
Contents
Rate this article
Building a salon booking app and building a fintech product are fundamentally different tasks. Not in terms of technology. In terms of the cost of a mistake.
In a regular app, a bug is an inconvenience. In fintech, a bug is a user's lost money, a regulatory fine, or a personal data breach. That's exactly why the standards, processes, and architectural decisions in fintech differ fundamentally from any other product category.
The fintech services market in Central Asia is growing fast. In Uzbekistan alone, the volume of cashless payments in 2024 exceeded 600 trillion soums, and the number of mobile banking users grew to 18 million people. Click, Payme, Humo, UZCARD — these are no longer startups, they're infrastructure. And hundreds of new products are being built around them.
We've been developing fintech solutions since 2019. During that time we've gone from payment widgets to full-scale neobanks. This article is an honest breakdown of what that process looks like from the inside.
A fintech project doesn't begin with design or code. It begins with questions whose answers determine everything else.
Regulatory questions first. Before designing functionality, you need to understand: what license does the product require? If the app holds user money — that's one story. If it only displays a balance from a bank API — that's another. In Uzbekistan, the regulator is the Central Bank, and its requirements shape the architecture at the earliest stage.
Business model determines architecture. P2P transfers, credit scoring, investment management, insurance products — each scenario has its own logic, its own integrations, and its own security requirements.
At this stage we conduct:
| Activity | What We Find Out | Timeline |
|---|---|---|
| Regulatory analysis | Licenses, Central Bank restrictions, data storage requirements | 3–5 days |
| Stakeholder interviews | Business model, KPIs, audience, competitors | 2–3 days |
| Integration analysis | Bank APIs, payment systems, credit bureaus, government registries | 3–7 days |
| Tech spec writing | Functionality, roles, scenarios, acceptance criteria | 1–2 weeks |
One question we ask at every kickoff meeting: "What happens if a transaction fails halfway through?" The answer determines 30% of the architectural decisions.
Fintech doesn't forgive monoliths that grew without a plan. Architecture is laid down once — and then you live with it for years.
Microservices or monolith? For MVPs and smaller fintech products, we often choose a modular monolith — faster and cheaper to start with, but with clear module boundaries. For high-load products with thousands of transactions per minute — microservices with independent scaling of critical services: payments, authorization, notifications.
The fintech stack that works:
| Layer | Technologies | Why |
|---|---|---|
| Mobile client | Flutter (iOS + Android) | Single codebase, native biometrics, fast release cycle |
| API Gateway | FastAPI / Node.js + Nginx | Rate limiting, authorization, routing |
| Business logic | Python / Go | Reliability, speed, mature ecosystem |
| Database | PostgreSQL + Redis | ACID transactions, cache for high-load queries |
| Message queue | RabbitMQ / Kafka | Async payment processing without blocking |
| Infrastructure | Docker + Kubernetes + CI/CD | Scaling, zero-downtime deployment |
A separate decision concerns data storage location. In Uzbekistan, personal data of citizens must by law be stored on servers within the country. This requirement affects the choice of cloud provider or physical server placement.
In most projects, security is added at the end — "we'll bolt it on before release." In fintech, this is unacceptable. Security is designed from day one.
Authentication and authorization. The minimum standard for fintech: JWT + refresh token with short expiry, two-factor authentication via SMS or TOTP, biometrics via Face ID / Touch ID on mobile devices. For enterprise products — RBAC with granular permissions on every action.
Data encryption. Personal data and financial information are encrypted at rest (AES-256) and in transit (TLS 1.3). Keys are stored separately from data — in HSM or vault solutions.
Transaction protection. Every financial operation passes through:
Fraud protection. Rate limiting on all critical endpoints, anomalous behavior pattern detection, account lockout after N failed authorization attempts.
Penetration testing is not optional. Before every major release we conduct an external pentest. This isn't bureaucracy — it's insurance that costs $1,000–3,000 and prevents incidents an order of magnitude more expensive.
Fintech without integrations is just a pretty interface. Real product value is created at the intersection with banking and payment infrastructure.
Uzbekistan's payment systems. Click, Payme, and Humo are the three primary gateways for soum-denominated operations. Each has its own documentation, its own connection model, and its own merchant verification requirements. Standard connection timeline: 2–4 weeks including legal sign-offs.
UZCARD and UzPayNet — the interbank transfer infrastructure. Connecting to it requires a separate agreement and technical integration through secure channels.
Open Banking API. Uzbekistan's banks are gradually opening APIs under Central Bank initiatives. This allows fintech products to retrieve account balances, transaction history, and initiate transfers — with user consent.
We follow the same algorithm for every integration:
The typical mistake: skipping steps 3 and 4 for speed. This almost always means an incident in the first week after launch.
In a regular app, a bug is a Jira ticket. In fintech, a bug is a complaint from a user who lost money.
Testing in fintech is multi-layered:
Unit tests cover every business logic function — amount rounding, currency conversion, interest calculation. Coverage below 80% is unacceptable.
Integration tests verify service-to-service interactions and external API behavior. Every payment scenario — happy path and all edge cases.
End-to-end tests replicate the real user journey: registration → verification → top-up → transfer → withdrawal. Automated via Appium or Detox for mobile.
Load testing is mandatory for any product with financial transactions. Tools: k6, Locust, JMeter. The goal — confirm the system handles peak load without degradation or transaction loss.
Security testing is a separate track: SQL injection, IDOR, broken auth, exposed endpoints. Conducted by both the team and an external pentester.
The ratio we maintain: 1 QA engineer for every 3 developers. This isn't a luxury. In fintech, it's the minimum.
A fintech product doesn't "launch" in the classic sense. It's brought into operation in stages — to control risk at every step.
Release strategy:
Post-launch monitoring. In the first weeks after release, the team watches live metrics in real time:
SLA and incident management. For fintech products we establish SLAs with critical incident response times of no more than 15 minutes. An on-call engineer for the first 30 days after launch — mandatory.
Updates and release cadence. Post-launch: two-week sprints. Major updates involving financial logic go through the full testing cycle again. Security patches — out of queue, with priority above any feature.
Fintech isn't scary. But it is serious. The difference between a good fintech product and a bad one isn't in the design or the marketing. It's in how well the team understands the cost of each architectural decision.
Six stages we go through on every project:
Uzbekistan's fintech market is growing. There's space for new products. But entering it with "fast and cheap" won't work. Here, only "correct and reliable" gets results.
<Get in Touch>
Let us help you achieve top rankings and sustainable growth
