Portfolio

CSSParser

South Ural State University / December 2001

Goals

  • Parse designer‑provided CSS so the WYSIWYG editor could present only approved styles in a dropdown, helping end users apply consistent, visually coherent formatting.
  • Provide a structured representation of CSS1 and CSS2 stylesheets that the editor could interpret and manipulate.
  • Ensure accurate and standards‑compliant parsing of selectors, properties, and rules as the CSS specifications evolved.
  • Integrate cleanly with the in‑house CMS so the editor could rely on a stable DOM representation generated by the parser.

The parser was implemented in C++, at a time when robust, browser‑like parsing libraries simply didn’t exist for Windows developers. Modern DOM implementations were still years away, so I designed and exposed my own Document Object Model interface, giving our application a structured, tree‑based representation of the input data that felt similar to what contemporary browsers provide today. To build the core of the parser, I used YACC (Yet Another Compiler Compiler), which generated the parsing logic from a formal grammar specification. This resulted in a clean separation between two major components: a grammar written in a Backus–Naur Form–style notation, defining the syntactic rules of the language, and a lexical analyzer responsible for tokenizing the raw input stream. Together, these pieces formed a fully custom parsing pipeline tailored to our domain. Because our main application was written in Visual Basic and running in a classic ASP environment, the parser needed to be accessible through COM. I packaged the entire system as a COM/ActiveX component, complete with type libraries and automation‑friendly interfaces, so it could be instantiated directly from VB code. This allowed the legacy ASP application to work with a sophisticated C++ parsing engine as if it were a native part of the platform, bridging two very different technologies in a way that was both seamless and maintainable.

Outcomes

  • The WYSIWYG editor was able to present only designer‑approved styles, which kept user‑generated content visually consistent and prevented accidental “off‑brand” formatting.
  • End users could apply styles confidently through a simple dropdown, while the underlying system reliably mapped those selections back to the correct CSS rules.
  • The CMS produced cleaner, more uniform pages because the parser enforced a structured interpretation of the stylesheet rather than relying on ad‑hoc string handling.
  • As CSS1 and CSS2 features were added, the editor automatically benefited from the expanded parsing capabilities without requiring changes to the rest of the application.
  • The centralized DOM representation made it easier for other CMS components to inspect, validate, or transform style information, improving maintainability across the system.

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.