Portfolio

SQLParser

South Ural State University / March 2001

Goals

  • Parse arbitrary SQL queries into a structured internal representation so the system could reliably analyze and transform them.
  • Support the generation of paginated SQL queries by breaking down the original statement into its logical components.
  • Handle a wide range of SQL constructs and dialect variations to ensure pagination could be applied consistently, regardless of query complexity.
  • Provide a stable, programmatic interface that allowed other parts of the application to inspect, modify, or regenerate SQL statements as needed.

The SQLParser was implemented in C++ as a standalone component responsible for interpreting SQL queries and converting them into a structured internal representation suitable for downstream processing. At its core, the system used a YACC‑generated grammar to define the syntactic rules of the SQL dialects we needed to support. This grammar, expressed in a BNF‑like notation, captured the structure of statements such as `SELECT`, `INSERT`, `UPDATE`, `DELETE`, joins, expressions, and nested subqueries. A custom lexical analyzer complemented the grammar by tokenizing the raw SQL input stream into keywords, identifiers, operators, literals, and punctuation symbols. Once tokenized and parsed, the system constructed an abstract syntax tree (AST) that represented the logical hierarchy of each SQL statement. This AST served as the canonical form for further analysis, validation, and transformation. As the application requirements evolved, the parser was extended to handle additional SQL constructs, vendor‑specific extensions, and more complex expression patterns, ensuring compatibility with the query shapes produced by the rest of the system. To integrate with the broader application stack, the parser was packaged as a COM/ActiveX component, exposing automation‑friendly interfaces that allowed Visual Basic and other COM‑aware environments to instantiate and interact with it. This approach provided a clean separation between the high‑performance C++ parsing engine and the higher‑level business logic, while maintaining a stable contract for query inspection and manipulation.

Outcomes

  • The application could automatically generate paginated SQL queries from any incoming statement, eliminating fragile hand‑written pagination logic in the classic ASP and Visual Basic layers.
  • By exposing the parser through COM, the ASP/VB components gained reliable access to a structured representation of SQL statements, improving stability and reducing errors caused by manual string manipulation.
  • - Centralizing SQL interpretation in a dedicated C++ parser improved maintainability across the system, ensuring consistent behavior even as query complexity and SQL dialect variations increased.

Denis Bukharov

Principal Engineer

Toronto, Canada

denis@bukharov.com

Technical leader driving modern web platforms, AI workflows, and cloud-native applications. Focused on engineering excellence, seamless user experiences, and scaling high-performing teams through mentorship and collaborative leadership.


Tech StackTech Stack


Work ExperienceWork Experience

Senior EngineerSenior Engineer

Augmentt / 2026 - Present

I lead the development of full-stack features to enhance a comprehensive SaaS management platform while managing vulnerability mitigation strategies. Additionally, I drive the integration of AI-driven workflows to optimize operational efficiency and security across the technical architecture.

Principal EngineerPrincipal Engineer

Common Wealth Retirement / 2020 - 2025

Led the frontend platform’s transition to an internally governed, scalable monorepo. Collaborated with stakeholders to deliver responsive features, modernized build tools with Vite, and architected a serverless document generation service.

Projects

Architected a high-performance service using Puppeteer and AWS Lambda to dynamically generate high-fidelity PDF documents from HTML components.

Led a strategic migration from Webpack to Vite, reducing CI/CD build times by 75% and modernizing the codebase with native ES modules.

Deployed a specialized portal that provides benefits advisors with self-service access to real-time plan metrics and portfolio tracking.

Denis Bukharov

Principal Engineer

Projects (continued)

Transformed the frontend into a modular monorepo to support a new B2B platform for managing pension payroll and employee lifecycles.

Bridged systems-level C++ payments expertise with modern web technologies. Worked on the StarsWeb platform and led the redesign of a high-performance, responsive web cashier to integrate seamlessly with core services.

Projects

Led the redesign of the Web Cashier on the StarsWeb platform, utilizing a custom state-machine Wizard to streamline complex financial journeys.

Architected and executed a full technology refresh to modernize the codebase. Replaced legacy systems with high-performance alternatives, successfully reducing technical debt and enabling faster feature iterations.

Projects

Modernized a legacy architecture by implementing an "inside-out" migration strategy and building a synchronization adapter for legacy data models.

Developed end-to-end web applications, including a "green-field" sportsbook and account management systems. Focused on building modular, scalable interfaces and migrating high-frequency data views to React for better performance.

Projects

Developed a modernized financial hub to centralize deposits, withdrawals, and player accounting for the web ecosystem.

Denis Bukharov

Principal Engineer

Projects (continued)

Contributed to the end-to-end development of a high-performance betting platform, leading a critical migration from Angular to React for real-time data handling.


Personal ProjectsPersonal Projects

Built a multi-modal PWA integrating a React SPA, a FastAPI-based RAG AI agent, and a print-optimized resume system.