I build LLM agents that check the numbers for Big4 auditors. In my spare time I build things that have no business running where they run, like a fruit-fly brain on a PSP.
The solar system alongside tells the same story: each planet is a place I've worked or studied, and the moons of the green one are side projects. Drag it to look around, or click a planet to jump to it.
Experience
Nace.ai
Dec 2025 – Present
AI Engineer
An AI research startup automating financial audit and accounting workflows for the Big4.
Engineered an autonomous SQL-generating agent that processed 1M+ financial records, leveraging DuckDB and fuzzy matching for data categorization.
Built an LLM compliance checker that turns regulation PDFs into structured rules and flags violations with cited evidence, reaching ~90% rule-extraction consistency via overlapping-window batching and similarity-based dedup.
Cut an audit agent's tool calls from 20 failed retries to a single successful run by making the tools reject incomplete calls up front and rewriting the prompt to match what they actually expect.
Eliminated Temporal workflow crashes on size and history limits by storing large payloads once and passing references between steps, cutting inter-step messages from 4MB+ to a few KB.
Built a caching and persistence layer for agentic logs on Redis and AWS S3, cutting log retrieval latency by 70%.
A fast-growing startup building a scalable multi-tenant e-commerce platform for European clothing brands. Its product in Kazakhstan is Garderob, a P2P marketplace for buying and selling clothes.
Developed a Next.js e-commerce website serving 35,000 monthly active users, building the product catalog, shopping cart and checkout flow.
Moved the highest-traffic pages from client-side to server-side rendering, cutting page load times 3× and server load by 10% through pre-rendering and caching of repeat requests.
Rewrote a slow aggregation pipeline over 415,000 conversations while porting the backend router from Node.js to Go, cutting response times by 50%.
Garderob, the company's marketplace in Kazakhstan: catalogue, checkout and delivery. Images from its App Store listing.
A 10-week incubator focused on building AI startups, with mentorship in development, design and strategy.
Implemented a real-time car search and alert system parsing over 50,000 marketplace listings, notifying users the moment a new listing matched their criteria.
Integrated GPT-3.5 with a vector database using Python, improving answer relevance on user queries by 40% over the existing keyword search baseline.
Secured a $1,500 Chevron Corporation scholarship, ranking in the top 5% of 2,000+ applicants.
Python, GPT-3.5, Vector DB, TypeScript, Scraping
Education
Nazarbayev University
Aug 2021 – Jun 2025
Bachelor of Science in Computer Science
Four years of CS at Central Asia's leading research university, in Astana.
Ranked in the top 500 worldwide by Times Higher Education (401–500 band, 2026), and debuted at #201 in the QS Asia Rankings 2026.
An English-medium research university, founded in 2010 and built with partners including Cambridge, Duke, UCL, NUS and UW–Madison.
A compact campus of about 6,000 students in Astana.
Things I build on my own time, from ad auctions to printer drivers.
bidflow
Java, gRPC, Protobuf, Gradle, JMH
An ad-auction engine where every nanosecond counts.
Built the auction itself in Java: picks the winning ads out of 64 candidates and computes what each pays in 275 ns, allocating no memory per request so garbage collection never interrupts a live request.
Let every server spend from one shared daily ad budget without a network call per request, by handing out short-lived spending allowances instead of a central counter: a 1.91 ns local check on the request path.
Built a simulator replaying server crashes, network splits and out-of-sync clocks from a single seed; proved across 120 scenarios that advertisers are never charged over budget, and caught two protocol bugs.
Operation
Time
Allocation
Full auction, 64 candidates, 3 slots
274.7 ± 12.2 ns
≈ 0 B/op
Full auction, 8 candidates, 3 slots
40.2 ± 1.6 ns
≈ 0 B/op
Per-request budget check
1.91 ± 0.15 ns
≈ 0 B/op
JMH on an Apple M4, averaged over two forks with the GC profiler attached.
Ricoh never shipped Mac support for this printer, so I wrote the driver myself. Yes, its moon is a printer.
Built an open-source macOS driver and app for a printer Ricoh never supported on Mac, reverse-engineering the scanner's USB protocol from the vendor's Windows driver.
Wrote the print pipeline in C that compresses each page into the printer's own binary format, shipped as one installer covering Apple Silicon and Intel.
Made the scanner appear in Image Capture and other Mac apps through a local-only service, with a SwiftUI app to scan, reorder and export pages as PNG or PDF.
A fruit-fly brain wired from the real FlyWire connectome, running on a 2007 Sony PSP and steering a fly around a 2D arena.
Leaky integrate-and-fire neurons stepped at 1 ms, with weights taken straight from the FlyWire v783 connectome.
A 2,774-neuron / 91,598-synapse sugar pathway: drop sugar in front of the fly and it stops and feeds. A path integrator walks it back once the sugar runs out.
The optic lobe runs a pretrained flyvis network with 3,950 graded units.
The PSP build in the PPSSPP emulator: the fly has found a sugar drop, its MN9 motor neurons are firing at 245 Hz, and it has stopped to feed.
Hiring for a software or AI engineering role, working on a hard problem, or want to talk shop about agents, backend systems and performance? Send me a message.