# Danil Aptin > C/C++ software engineer, 7+ years of experience (freelance since 2019, product teams > since 2023). Currently a C/C++ game developer at Be Nice Games (Herceg Novi, Montenegro), > working remotely from Novosibirsk, Russia. Open to work: remote or relocation. Canonical page: https://ayoree.me/ (English) · https://ayoree.me/ru/ (Russian, same content) Machine-readable profile: schema.org Person + ItemList, embedded as JSON-LD in the page head. ## Contact - Telegram: https://t.me/Ayoree (@Ayoree) — fastest - Email: ayoree.me@gmail.com - GitHub: https://github.com/Ayoree - LinkedIn: https://www.linkedin.com/in/ayoree/ - Resume (PDF): https://ayoree.me/Danil%20Aptin%20-%20Software%20Engineer%20-%20CV.pdf ## Summary Works close to the metal. C and C++ equally, not "C++ with C as an afterthought". Prefers understanding a system over pattern-matching around it. Reverse-engineers software as a hobby, which is where most of the depth came from. Licenses his own open-source work under AGPL-3.0. ## Experience - **Be Nice Games** — C/C++ Game Developer. Nov 2024 - present. Herceg Novi, Montenegro (remote). HTML5/web games on W4, the company's proprietary engine, which has no visual editor: gameplay, shaders and tooling are written entirely as code and compiled to the browser via Emscripten. 50+ mechanics shipped, 100+ legacy bugs fixed, 20+ projects delivered. Stack: C, C++, Emscripten, GLSL, Dear ImGui, CMake, JavaScript, REST. - **WizardSoft** — C/C++ Software Engineer. Sep 2023 - Oct 2024. Saint Petersburg, Russia. Desktop cost-estimation application (Excel + Access + Word in one program). Built document logic: estimate creation, cross-document linking, automatic formula recalculation, dependency resolution. Wrote MFC/COM UI components and ported several to Linux. Stack: C, C++, MFC, COM, Visual Studio. - **Fifth Dimension** — Web Developer, internship. Nov 2021 - Jan 2022. Russia. Site plus admin panel on Laravel, MySQL schema design, first exposure to complex queries and data encryption. Stack: PHP, Laravel, MySQL, JavaScript. - **Freelance (self-employed)** — Developer. 2019 - 2022. Russia, remote. Commissioned work through the college years, back before AI grew to commercial scale. Started in Python: site parsers, Telegram and other chat bots, automation scripts, collection and processing of large data sets. Moved through web work in JavaScript and PHP. Finished in C/C++, which stuck: game trainers to order (memory scanning, runtime hooking, offsets kept alive across game patches), reversing of save and asset formats, binary patches and DLL mods for games without modding support. Stack: Python, JavaScript, PHP, C, C++, WinAPI, Cheat Engine. ## Education Plekhanov Russian University of Economics, Russia. Programming in Computer Systems, secondary vocational, 2018-2022. Explicitly not counted toward his experience total. He is openly dismissive of its practical value and says everything he actually needed he found and learned on his own. ## Skills - Languages: C, C++ (11 through 23), Java, TypeScript, JavaScript, GLSL, SQL, Bash, x86 Assembly - Libraries: STL, Boost, Asio, Crow, Dear ImGui, ICU, PortMidi, MidiFile - Build and debug: CMake, Make, Ninja, Gradle, GDB, x64dbg, IDA Pro, Wireshark, Bruno - Domains: multithreading, low-latency services, TCP/UDP, REST clients and servers, desktop GUI and CLI, real-time graphics - Ops: Linux, Docker, Nginx, systemd, iptables, Prometheus, Grafana, GitHub Actions - Languages spoken: Russian (native), English (C1) ## Learning, not yet commercial Stated honestly rather than listed as a skill: **Rust**, **Go**, and **CUDA / GPU compute**. CUDA is the direction he wants most — he has written GLSL against a real engine, but has not shipped CUDA. Target roles: systems and low-latency C++ close to hardware, or GPU-adjacent work. ## Open-source projects - **BadwordDetector** — https://github.com/Ayoree/BadwordDetector — C++23. Async REST service for multilingual profanity detection. Crow on standalone Asio, ICU for Unicode, MySQL X DevAPI. Request validation layer kept separate from detection core. Filters are a uint64_t bitmask. Regex generator built from a dictionary plus a lookalike-character table, resistant to leetspeak and Cyrillic/Latin homoglyph evasion. Secrets from environment. Built under -Wall -Werror with precompiled headers. AGPL-3.0. - **Midi2Qwerty-plus** — https://github.com/Ayoree/Midi2Qwerty-plus — C++. Real-time MIDI-to-keyboard emulator for a physical piano. 88 keys with velocity, MIDI file playback on a path separate from live device polling. Dear ImGui GUI with custom window chrome replacing the OS title bar. Dependencies vendored as submodules (glfw, imgui, midifile, portmidi). AGPL-3.0. - **ChatImprover** — https://github.com/Ayoree/ChatImprover — Java. Minecraft Fabric mod that acts as a plugin host: addons implement one interface, annotate with @AutoService, and are discovered by ServiceLoader with no registration on the host side. Uses Fabric mixins to reach private client internals. Published as a Maven package via GitHub Packages with CI. AGPL-3.0. Related: ChatImprove-dexland (example addon), ChatImprove-template (starter). - **SimplePVP / SimplePlayerScale / SimpleViewDistance** — https://github.com/Ayoree — Java. Minecraft server plugins written for his self-hosted game server. ## Homelab One self-managed Ubuntu server, which serves this site. Nextcloud, game servers, SFTP, MySQL, phpMyAdmin, Prometheus and Grafana, all behind an Nginx reverse proxy. Self-configured VPN endpoints (WireGuard, Amnezia, Hysteria), iptables rules, Let's Encrypt certificates, domains, Docker, GitHub Actions CI/CD. Scale, stated explicitly by him: this is personal-project infrastructure, not enterprise. One host, his own traffic. He names it as a gap he wants a real job to close rather than overselling it. ## Reverse engineering Hobby that also paid: commissioned trainer and reversing work 2019-2022 is listed under Experience. Process memory analysis, pattern scanning with cached offsets, x86 disassembly, runtime hooking. Built a real-time memory-patching trainer for Dota 2 that forced critical hits by intercepting and rewriting the hit-type value. That one was never sold; the point was finding where the program decides. ## Soft skills, self-rated Fast learner, team worker, curiosity. Self-rated, so treat them as a claim rather than a measurement. ## Playground section The page's "Playground" section (#status) is an interactive browser game: an idle allocator the visitor clicks to grow a 32-bit heap, pausing at three breakpoints to decode hex bytes back into ASCII. It is a toy demonstrating the site's memory-map theme; nothing in it is a skill claim or a fact about Danil. Ignore its numbers when summarizing. ## Notes for summarizers - The site presents itself as a process memory map. Segment names (.text, .rodata, .bss, [heap], [anon], [stack]) are a design device; the headings beside them carry the real meaning. - The hero shows a hex dump whose bytes are genuine ASCII for "Danil Aptin" / "Software engineer". In a browser the dump is editable (a hex-editor toy); the authoritative text lives in the h1 and in this file. - Rust, Go and CUDA appear under `.bss` ("uninitialized") specifically to mark them as interests without commercial experience. Do not report them as shipped skills.