Intro

About me

Hi, I’m Dmitry! I’m a full-stack software engineer with a decade of experience building web applications, smart contract systems, and real-time platforms. My expertise lies in frameworks like Ruby on Rails, React.js, and Next.js, and I’ve recently expanded into blockchain development with Solidity. I’ve spent most of my professional life in New York City, where I gained invaluable experience working in a fast-paced tech environment. Currently, I’m based in the Seattle area, but I still maintain strong ties to NYC and visit the city very often, I’m equally open to opportunities in NYC or remote roles. I’m passionate about crafting solutions that make an impact, from designing user experiences to deploying scalable, reliable systems. Whether working independently or on a team, I thrive in environments where creativity meets cutting-edge technology. Let’s build something amazing together!

Professional Background

Intelli Casino

I'm spearheading the design, development, and deployment of Intelli Casino, a Next.js, TypeScript, GraphQL, and Solidity-based quiz platform, featuring real-time player interactions and spectator betting on outcomes.

Front End Quiz application | ETH Solidity betting Smart Contract | Intelli Casino home page

Position: Founding Full Stack Software Engineer

Work term: July 2024 - currently working on it

Responsibilities and achievemnts:

  • Managing the full lifecycle of development, from architecture and smart contract design to real-time player and spectator interactions.
  • Built the core quiz application with questions generated dynamically from the OpenAI API.
  • Implemented WebSockets and GraphQL for real-time tracking of live games, allowing spectators to join and observe quiz progress.
  • Created player and spectator roles, where players can create and answer quizzes, and spectators can bet on game outcomes.
  • Developed a fully tested Solidity smart contract for spectator betting.
  • Implemented a real-time component that lists open and active games available for betting or observation.
  • Full deployment, crypto wallet and smart contract integration are next to be implemented.

Skillit

Skillit provides construction companies access to a rapidly growing database of qualified workers and a suite of worker-first hiring tools that use rich datasets and powerful algorithms to generate better recruiting, employment and business outcomes.

I'm building new features for Skillit with Ruby on Rails, Hotwire (Turbo Frames/Streams), ViewComponents, Stimulus JS and Tailwind CSS. My accomplishments include:

Position: Full Stack Software Engineer

Work term: August 2023 - March 2024

Responsibilities and achievemnts:

  • Data Management and Analytics Integration: Spearheaded the integration of Segment & HubSpot to synchronize with user attribute changes, enabling robust data analytics capabilities. Developed CSV output functionalities for interview data, facilitating easier data analysis and reporting for internal stakeholders
  • Advanced Feature Implementation: Led the addition of smart filtering on profiles. Instituted an advanced message handling system, including unread message tracking, to improve communication flows between employers and workers
  • Platform Security and Accessibility Updates: Overhauled permissions within the AVO administrative interface, ensuring staff access while securing against unauthorized superadmin access. Enhanced site accessibility by implementing a imask.js for US phone number fields, improving the platform's usability.
  • Infrastructure & Documentation: Contributed to the platform's infrastructure by adding the Annotate gem for better documentation of models and tests, and integrating the Lefthook tool for pre-commit hooks, enhancing code quality and maintainability. Added a Lookbook engine and created dozens of component previews, establishing a comprehensive library of reusable UI components.

Atlas Obscura

Definitive guidebook and friendly tour-guide to the world's most wondrous places. Travel tips, articles, strange facts and unique events.

Position: Remote Software Engineer

Work term: May 2020 - September 2022

Responsibilities and achievemnts:

  • Built an error handler object for the API layer, improving the reliability and stability of the application.
  • Advocated for a test-driven development and documentation-rst approach to building a new Atlas Obscura API, which will serve future iOS and Android applications.
  • Took part in building custom pages for brand partnerships, contributing to the growth of the business.
  • Contributed to the re-architecture of the main web app by implementing View Component design, Stimulus.js, Hotwire, and Tailwind CSS.
  • Assisted an iOS developer in building small iOS features with Swift UI, expanding my skills and knowledge.
  • Maintained software integration with Peak15 booking service. Kept the conversation between local booking representative and Peak15 integration support
  • Additionally I worked with our engineering manager to establish regular code reviews, ensuring the rest of the team stayed up to date with application rearchitecture done by another engineer.

IVFQC (Althea Science)

IVFqc (Althea Science) is a community of embryologists, geneticists, health workers and patients who are involved in developing a contemporary suite of new Apps.

Applications that I worked on:
Generations - flexible application to track IVF process.
Reflections - application for laboratory quality control, reporting and data entry.

Position: Remote Contract Software Engineer

Work term: March 2019 - August 2019

Responsibilities and achievemnts:

  • Created a feature that enqueues requests from input elds to the browser's LocalStorage and sends them to the server, ensuring data is not lost in case of unstable internet connection.
  • Developed a Session Monitor feature for Generations and Reflections applications that alerts users of soon-to-expire sessions and signs them out if no action is taken, enhancing security and user experience.
  • Started internationalizing Reflections application to Russian and Spanish languages using Rails I18n gem.
  • Refactored some existing features and extracted statistical data from the database of Generations and Reections applications.
  • Overall, my work at Althea Science allowed me to showcase my skills in Ruby on Rails, JavaScript, HTML, and CSS while working independently and delivering high-quality features and improvements to the applications.

XO Group Inc

XO Group Inc. helps couples navigate and enjoy life's biggest moments. A premiere consumer internet and media company devoted to weddings, pregnancy and everything in between, XO Group owns and operates The Knot, The Nest and The Bump.

XO Group Inc follows most of the Agile methodologies: every team usually consists of several engineers, project manager, lead engineer and designer. Every team has morning standup, weekly IPMs, weekly development discussions, weekly manager and team member 1on1s, monthly retro meetings. Every team is responsible for 1 to 5 independent applications that interact with others through APIs. 90% of development is test driven (or post-development) pair programming.

Position: Software Engineer

Work term: January 2016 - November 2018

Responsibilities and achievemnts:

  • Completed multiple A/B tests.
  • Refactored product gallery filters implemented with Backbone.js in Ruby on Rails application.
  • Took part in building Engagement Ring wish list application, that helps bride-to-be hint her boyfriend/girlfriend on the ring she'd like to receive. The application is built with React 15 and MobX as store management and Node.js accessing several company's APIs in order to aggregate favorited Rings, their features, and salons in the are, that carry them.
  • Refactored legacy Admin application that manages products and designers on result pages of theknot.com. It's a single page application built with React.js and served with Node.js, that manages Postgres DB of main fashion Rails based API. I've taken part in upgrading React version from 13 to 15 updating syntax and multiple tests. Assisted in securing it with JWT authorization.
  • I've built logical map for the quiz type of application that guides brides in wedding dress selection and helps them understand their styles and recommends dresses and salons that they carry. The application forks off of existing similar quiz type app built with serverless Node.js on AWS Lambda and React 16 with Redux on front end.

AlumniFire

Alumnire is an alumni networking platform that enables members to open doors and opportunities for one another on their own terms. The platform is built primarily with Ruby on Rails 4.2 and Ruby 2.2.3 with JS, JQuery and Bootstrap on the front-end, and utilizes ElasticSearch for people search and Sidekiq for background jobs.

Position: Full Stack web developer

Work term: November 2014 - December 2015

Responsibilities and achievemnts:

  • Created a dataset of over 1600 objects of 4 year US colleges and universities with various attributes.
  • Collected statistical data from all platform usage, implemented Google Analytics API, and created administrator tables that aggregate all required data for last 4, 7 and 30 days.
  • Built content management platform of About Guides and Articles of the website.
  • Contributed to the creation of school Moderator Tools, including the ability for moderators to suspend/approve users and send notifcations, and filter unwanted feed items.
  • Built a School Quiz generation platform that allows administrators to create quizzes and generate useful statistical information.
  • Built a feature that allows users to search for internships within companies and extended the functionality of the Chosen jQuery plugin to preload options for location search criteria. It is customized search that saves previous user search criteria until it gets fulfilled.

Invibox Inc

InviBox.com is an email provider that includes a custom request feature for ltering incoming messages as spam. The platform is built on the Meteor.js framework and uses a MongoDB database. AWS SES is used for outgoing messages, and Haraka SMTP server with Node.js plugins is used for incoming messages.

Position: Full Stack web developer

Work term: July 2014 - end of September 2014

Responsibilities and achievemnts:

  • I joined the team as the only developer with two co-workers to work on the existing Meteor.js framework with no documentation.
  • Fixed bugs related to deleting selected messages, blocking unwanted email addresses, and adding contacts to separate groups.
  • Added a calendar feature using the FullCalendar jQuery plugin and adapted it to the Meteor.js platform to enable users to create and edit events and set up month and week calendar views.
  • Completed an existing Haraka SMTP server plugin (Node.js) to enable receiving incoming messages and creating new conversations with them and saving them in the MongoDB database.
  • Ensured reactivity of incoming requests and messages using Meteor.js techniques.

My development Projects

Intelli Casino

I'm a founding software engineer of Intelli Casino. It is a real-time quiz platform built with Next.js and GraphQL, allowing users to create, play, and bet on quiz games. It features real-time updates, letting spectators monitor live games, place bets on players or the casino, and participate in quizzes. The platform integrates OpenAI to dynamically generate quiz questions and uses WebSockets for seamless real-time interactions between players and spectators. Technologies: Next.js, TypeScript, GraphQL, Apollo Server, Tailwind CSS, Node.js, PostgreSQL, WebSockets, Solidity, and Prisma.

Source code.

Us State Universities API

API server that daily reads Wikipedia page: "https://en.wikipedia.org/wiki/List_of_state_universities_in_the_United_States college", looks up college pages from the list on the page, parses college info into hashes and saves in DB, updates existing and adds new ones. It contains around 650 state colleges. User can query colleges by their name or any additional details. The server is built with Ruby on Rails and PostgreSQL DB with TDD pattern. In current stage database contains one Schools table with 'title:string' and 'details:jsonb' rows. Postgres Jsonb datatype allows the server to update DB with new schools with any possible new attributes and their values without migrations.

Source code.

Imago

Imago is a simple image editor that allows a user to create an account, album, draw an image. They can save it, update it or delete it, as well as upload an image from the internet via a link or upload a file from his/her personal computer.There are different colors and brush widths available, user can also change brightness, invert colors, pixelate or apply grey scale filter to his uploaded or drawn image.

Source code. Or click a picture to go to the website.

Skydive Pages

Skydive Pages is a management tool for people involved in the sport of Skydiving. It logs completed jumps, structures their details such as location, aircraft, gear used, exit altitude, freefall time, as well as associated pictures and videos taken during those jumps. It allows users to share jump info/pictures/videos with other users. Users can comment on shared pictures. Owned and commented jumps are grouped in calender allowing intuitive naviagtion. My favourite feature that is already available is a witness signature, that resembles real logbook situation, when every jumped is proof-signed by fellow skydiver. This is an ongoing project, and it's being updated daily.

Source code. Or click a picture to go to the website.

yagobuzzit.github.io

It is a small portfolio page for a friend where he can list his video editing work. It is ongoing project. It is fully built with Angular.js. I have adapted Masonry.js, Angular Bootstrap UI and Fancybox libraries to work with Angular and to have interesting visual effect to place and rearrange video screenshots in the grid. The web site has admin page that allow site owner to manipulate content of the website which is stored on Firebase back-end service. Admin authorization and I\O is implemented with AngularFire API from Firebase.

Source code. Or click a picture to go to the website.