the working blog
Entries from real work — decisions, dead ends, and the fixes that stuck.
People who cancelled a policy through the website kept seeing it listed as active, because the national registry doesn't reliably report cancellations. I fixed the status at its source, and made every new cancellation announce itself to the office in Telegram the moment it is submitted.
The insurer already knew what your plan covers and what you had spent, but it lived in a system built for insurance staff. This is the page that turns those raw records into the two answers people actually want: what am I covered for, and how much is left.
Corporate health cover belongs to the employer, not the employee, so it never showed up in anyone's personal account. I built the missing link: your card, your remaining limit and every visit you've claimed, sitting alongside the rest of your policies.
Corporate medical insurance existed in people's accounts as a name and nothing else. I built the endpoint behind it and wired the cabinet to it, so the page now answers the questions people actually have: what's covered, how much has been spent, and what happens next.
Users of an insurance site kept being asked to verify their identity with a face scan, seconds after they had already done it. The logins were all working. The app was simply asking anyway, and it took me three rounds of debugging to find out why.
Signing in to the cabinet meant a biometric face scan — and three hours later you had to do it again. The session length wasn't the bug; the missing half was renewal. Now the site quietly renews itself for fifteen days, and the hardest part was making sure it never renews twice at once.
We retired the registration form on an insurance site - now your first face scan simply creates your account. Then a real user got locked out by an account they made back in 2023, and the fix taught me more than the feature did.
Our insurance site logs people in with a face scan through MyID, Uzbekistan's national ID system. A face proves who you are - but not how to reach you. I rebuilt the login so that every sign-in also checks whether the phone number on the account is still real.
The policy-cancellation wizard already worked — users could verify identity, pick a policy, and submit a refund request. Then came a focused afternoon, the kind that actually decides whether a feature ships: cutting the product list to what the insurance core can really cancel, replacing scan-on-every-cancellation with a 30-minute verification window, making the wizard survive page reloads and language switches, and teaching the reason chips to match the product. About three hours of work, none of it a rewrite — all of it the difference between "works" and "ready".
We added a reason step with an optional PDF to our policy-cancellation wizard. My first upload design had two new endpoints, a new table, and a cleanup cron — what shipped has none of them. How walking the real user flow one more time made the feature smaller, safer, and done faster.