3-step UX flow
Registration → Offer → Deposit

Case Study
Full product flow: registration, public offer acceptance with audit trail, PDF proof with seal/signature, admin panel. Legally compliant, mobile‑first.
3
Steps in UX flow
9+
Audit fields per record
An education company needed to collect legally binding offer acceptance from students (including minors with legal guardians) online, generate PDF confirmations with official seal and signature, and store a tamper‑proof audit trail — all without manual paperwork.
Built a 3‑step conversion flow: registration (with conditional fields for minors), offer review and acceptance (progressive disclosure of full text), and deposit instructions with WhatsApp deep‑link. Each step validates before proceeding. Backend stores full audit trail in cloud PostgreSQL, generates branded PDF with Cyrillic support, seal, and signature. Admin panel with Basic Auth for viewing records, downloading PDFs, and changing statuses.
Step-by-step walkthrough of the product interface
Step 1: Adult registration — age toggle, full name, phone number
Step 2: Public offer preview — company info, acceptance checkbox
Step 2: Public offer full text expanded — scrollable legal document
Step 3: Offer signed — confirmation, record UUID, PDF download, student data summary
Step 1: Minor registration — guardian fields, warning banner, consent checkbox
Step 2: Minor offer — expanded text, dual consent checkboxes (student + guardian)
Step 3: Minor offer signed — confirmation with student and guardian data, PDF download
Admin panel: signed offers table — date, student, phone, guardian, status, actions (PDF, approve, reject)
Documents and deliverables from the project
3-step UX flow
Registration → Offer → Deposit
PDF with seal & signature
PDFKit + Cyrillic TTF
Audit trail schema
9+ fields per record
Admin panel
HTTP Basic Auth
6-phase checklist before release
Launched in production. All registrations go through the digital flow — zero paper forms. Every acceptance has a tamper‑proof audit record. PDFs with seal and signature are generated instantly. Admin panel lets the team manage records without developer involvement.
Kyrgyz civil law (Article 396 of the Civil Code of the Kyrgyz Republic) allows acceptance of a public offer through 'conclusive actions' — but the burden of proof lies with the company. We built an evidence bundle that holds up in court without an external e-signature service: each acceptance captures 9+ forensic fields (IP, User-Agent, timestamp with NTP sync, offer version hash, explicit consent checkboxes, guardian data if minor), generates a PDF with company seal and director signature as the legal confirmation document, and stores everything in an append-only PostgreSQL table with row-level immutability (no UPDATE/DELETE on acceptance records, enforced by database trigger). The system produces a complete 'proof of acceptance' artifact that satisfies both the client's legal counsel and the requirements of Article 393 of the Civil Code of the Kyrgyz Republic.
Default PDFKit doesn’t render Cyrillic. Embedded a TTF font with full RU support. Positioned the company seal and director signature as images with precise rotation, scale, and coordinates — tuned through several iterations.
Each acceptance stores: full name, phone, guardian data (if minor), consent checkboxes, IP address, User‑Agent, timestamp, offer version, and record status. All fields are append‑only in PostgreSQL. Status changes are logged. Admin can view but not edit acceptance data.
Have a similar project? Get an estimate or book a call.
Full-cycle restaurant management system: role-based access (Chef, Employee, Accountant, Owner), ingredient inventory with cost tracking, roll recipes with auto-calculated cost/margin, set composition with pricing, order management, supply/write-off logging, accounting with Excel export, analytics dashboards, and a full audit trail for every change.
Full‑cycle mobile crypto wallet for iOS: non‑custodial key management with AES‑256‑GCM encryption, 4‑digit PIN + Face ID biometric auth, 3‑step onboarding with value‑driven storytelling, multi‑asset portfolio dashboard with real‑time price feeds (BTC, ETH, LTC, XRP), built‑in exchange with interactive candlestick charts and Buy/Sell flow, spending analytics with category‑segmented donut chart, QR‑code scanner for instant P2P transfers, multi‑currency fiat settings with 6+ currencies, OAuth social login (Google, Apple ID), 4‑digit OTP email verification, and a Node.js/PostgreSQL backend with WebSocket price streaming and CoinGecko aggregation.
Full-cycle product development for a digital banking platform: UX research, information architecture, high-fidelity design, React frontend with real-time data, and a Node.js/PostgreSQL backend with transactional ledger, multi-provider payment processing, PDF invoice generation, scheduled transfers engine, and OAuth 2.0 + JWT authentication — from user pain points to a production-grade fintech system handling wallets, transactions, invoices, and analytics.