Skip to content
scajal.dev
All work

2021 — present

Criptala

A crypto trading and payments platform taken from an empty repository to production, and the team that now runs it.

Role
Sr. Engineer → Development Lead
Stack
Laravel, MySQL, React, Inertia, Docker
Team
Two engineers and a QA, which I lead
Status
In production

Context

I joined Criptala in 2021 as a senior engineer, with a product that existed as a business plan and not much else. The goal was a platform where people could buy, sell and hold cryptocurrency, and settle in local currency — which means two entirely different financial worlds meeting inside one system.

I built the first version, and over the following two years moved from writing most of the code to owning the architecture, the API design and the technical roadmap as Development Lead.

Constraint

Everything the platform touches is money, which removes the usual escape hatches. An order that half-executes is not a bug you patch next sprint. Fiat rails and crypto rails fail in different ways and on different timescales: a bank transfer can be reversed days later, a chain transaction cannot be reversed at all, and the system has to be correct across both.

The second constraint was size. A small team cannot afford a design that needs a specialist per subsystem, so the architecture had to stay comprehensible to everyone working on it.

Approach

A Laravel backend owning the domain and the database schema, with a single REST API as the only way in. Payment gateways — fiat and crypto — sit behind an internal abstraction, so adding or replacing a provider is a contained change rather than an archaeology project.

The frontend is React through Inertia, which lets the client stay a thin layer over server-owned state instead of a second application maintaining its own copy of the truth. Development and deployment run in Docker with CI/CD pipelines, so what runs on a laptop is what runs in production.

As lead, a large part of the work is not code: running requirements elicitation with product and business stakeholders, and turning what they need into specifications a small team can actually schedule.

Outcome

The platform serves over 6,000 active users and processes roughly 1,500 completed orders a month. It has been in continuous production since launch, and the team has grown around it rather than around a rewrite.