AlexWayfer's Site

General info.

Projects

Commercial projects

  • Yasno.live

    June 2021 – July 2022

    Back-end developer, DevOps assistant

    Team of 5–8 developers, including remote

    Aggregator for mental health, between psychologists and clients. The first large commercial project on Ruby on Rails.

    I’ve done a lot of work for Docker (Kubernetes), CI (GitHub Actions), payment systems (YooMoney), custom SQL aggregation statistics in Admin Panel.

    Technologies:

    • Back-end
      • Ruby
      • Ruby on Rails
      • PostgreSQL
      • ActiveRecord
      • Redis
    • Front-end
      • JavaScript
      • CoffeeScript
      • Bootstrap
      • SCSS
    • Integrations
      • YooMoney API
    • Localization
      • I18n
    • Error tracking
      • Bugsnag
    • Code management
      • GitHub
    • Hosting
      • Yandex Cloud
    • Task management
      • Notion + GH Issues
  • GetTransport.com

    August 2017 – March 2020

    CIO + Software Architect + Lead Website Developer

    Team of 2–5 developers, including remote

    Cargo transportation aggregator, between shippers and carriers. Another project written via Flame.

    I’ve tried to make this project taking into account my architecture errors of GetTransfer. So, it’s using a next version of Flame, 5, with a lot of improvements. Also we have started to use service objects instead of fat controllers and models. Then I service objects turned into Formalism forms.

    This project was pretty similar to GetTransfer, so I was working with similar technologies, sometimes with a better or cleaner approach.

    Technologies:

    • Back-end
      • Ruby
      • Flame
      • PostgreSQL
      • Sequel
      • Formalism
      • ERB
      • Money gem
    • Front-end
      • JavaScript
      • SCSS
      • IcoMoon
    • Integrations
      • Google Maps API
      • GeoNames API
      • PayPal API
      • Platron API
    • Localization
      • Crowdin
    • Error tracking
      • Sentry
    • Code management
      • GitLab
    • Hosting
      • Hetzner
    • Task management
      • Basecamp
  • GetTransfer.com

    September 2015 – August 2017

    CIO + Software Architect + Lead Website Developer

    Team of 2–10 developers, including remote

    People transfers aggregator, between passengers and carriers. It’s pretty popular and successful.

    The first project written via Flame.

    There was a lot of work with:

    • SCSS architecture;

    • JavaScript plugins and custom code;

    • database architecture and optimizations;

    • form data validations;

    • client-side and server-side tight integration with Google Maps API;

    • integrations with a lot of payment systems, like PayPal or Platron;

    • translations via Crowdin and Gengo;

    • currencies exhanges;

    • timezones and time convertations;

    • comfortable dashboards for different types of users, from managers to client;

    • aggregated data exports in different formats;

    • forecasts algorythms for prices.

    In all time of working on this project I was leading a team of up to 10 people, they all were different and many of them were cool. I’ve got a lot of experience in leading and talking with people, especially reviewing their code. 😬 Now I’m more calm and respectful.

    Honestly, I don’t like what project became after my leave.

    Technologies:

    • Back-end
      • Ruby
      • Flame
      • PostgreSQL
      • Sequel
      • ERB
      • Money gem
    • Front-end
      • JavaScript
      • SCSS
      • Bootstrap
      • Fontello
    • Integrations
      • Google Maps API
      • GeoNames API
      • PayPal API
      • Platron API
    • Localization
      • Crowdin
    • Error tracking
      • Sentry
    • Code management
      • GitLab
    • Hosting
      • AWS
      • DigitalOcean
      • Scaleway
    • Task management
      • Basecamp
  • GetWiFi

    April 2015 – November 2015

    CIO + Software Architect + Lead Website Developer

    Team of 2–4 developers

    Dashboard for Wi-Fi captive portals among cafes, hotels, etc.

    At that time I knew PHP at high level and saw its disadvantages for me. So, I wanted to learn any new programming language with more consistency and better potential for project files structure. Finally I was choosing between Python and Ruby, and I like (more consistent) OOP approach of Ruby, snake_case and its philosophy.

    This project was a first serious try to make it with Ruby. I didn’t like Ruby on Rails, mostly because of its approaches and “magic”, so I’ve developed this project via Sinatra, but was a big mistake because of controllers architecture and it became the impulse to create Flame framework.

    Although there was nice (in my opinion) horizontal-nested simple UI, and pretty good database architecture.

    Technologies:

    • General
      • MikroTik firmware and configs
      • Wi-Fi Captive Portal
    • Back-end
      • Ruby
      • Sinatra
      • MySQL
      • DataMapper (abandoned ORM)
    • Front-end
      • JavaScript
    • Code management
      • BitBucket
    • Task management
      • Basecamp
  • KEY Group

    April 2014 – March 2015

    Lead Website Developer

    Team of 2–3 developers and outsource

    It was a weird experience of making the layout with diagonal sections. Adaptive! I’ve made it via CSS transform finally, although there were many different tries with other approaches. Also it was my practice of making SVG icons via font characters. I’ve learned a lot of CSS with this project.

    Technologies:

    • Back-end
      • PHP
      • MySQL
    • Front-end
      • CSS
      • JavaScript
      • Fontello
    • Code management
      • BitBucket
    • Task management
      • Basecamp
  • Icons of the World

    March 2014 – January 2015

    Lead Website Developer

    Team of 2–4 developers

    Presentation site of the same named books. Home page contained almost full-screen Google Maps with custom markers, pop-ups and clusters. It was hard to make custom optimizations of requests to database bypassing WordPress engine.

    Technologies:

    • Back-end
      • PHP
      • WordPress
      • MySQL
    • Front-end
      • CSS
      • JavaScript
    • Integrations
      • Google Maps API
    • Task management
      • Basecamp
  • RDI

    July 2014 – March 2015

    Front-end developer

    Team of Single outsource developer

    Site of the development company (in Moscow region). My only experience of changing layout (HTML, CSS, PNG) by just a single JPEG file with target design.

    Technologies:

    • General
      • GIMP
    • Back-end
      • PHP
      • 1C-Bitrix
    • Task management
      • Basecamp
  • BCLeaner

    January 2013 – March 2013

    Full-stack developer

    Team of Single developer

    System for detecting bots among Twitter followers.

    In these times there were many bots in Twitter and popular people cheated followers count. But then declaring that you have no bots among your followers and you’re honest became fashinable. So, there was a request to make an automated tool (service) for detecting bots among your followers and ban them (it was the force unfollow in this time, as I remember). Then you could declare that you’re “clean” and “honest” too.

    I was trying to make such system for money. Bots recognition algorythm was pretty good, but I have not finalize this project because I was fired up for fail in another parallel non-related project in the same company.

    Technologies:

    • Back-end
      • PHP
    • Integrations
      • Twitter API

Personal projects

  • Stream Timer

    February 2020 – now

    Application with configuring timer for streaming application, like OBS.

    Useful for AFK (stream pauses), some events (like rocket launches or draws), etc.

    Previously it was built only via Vue.js and static, but I’ve made a complete web-application via Flame and database (configuration and users saving).

    Technologies:

    • Back-end
      • Ruby
      • Flame
      • PostgreSQL
      • Sequel
      • Formalism
      • ERB
    • Front-end
      • JavaScript
      • Vue.js
      • SCSS
      • IcoMoon
    • Code management
      • GitHub
  • Who2Follow

    October 2019 – now

    A try to create my own algorythm of follows/friends/etc. suggestions. Platform-independent, but Twitch and Twitter are first in the plan (just because they’re more important for me).

    Core (algorythm in a Ruby gem) and CLI tool are ready, site will be soon.

    Technologies:

    • Back-end
      • Ruby
      • Clamp
      • Twitch API
    • Tests
      • RSpec
    • Code management
      • GitLab
  • Stream Assistant

    October 2018 – now

    Bot for assisting broadcaster and moderators in stream chats. It answers to frequently asked questions. Works via regular expressions. Right now only in Russian, but other languages in plans.

    I’ve integrated it with YouTube at first, via official Google’s gem, then I’ve integrated it with Twitch via gem for API and another gem for chat. They’re pretty abandoned, there are PRs for them:

    Also I’ve created a separated gem for auithentication: twitch_oauth2.

    Also it has integrations with third-party services, like Steam, I’ve created a PR to the gem with improvements.

    For time difference I was trying many gems and chose moments, but I’ve made some improvements for it (it looks maintained, PRs were merged).

    Site with description and dashboard for streamers will be soon.

    Technologies:

    • Back-end
      • Ruby
      • PostgreSQL
      • Sequel
    • Integrations
      • YouTube API
      • Twitch API
      • Twitch IRC
      • Steam API
    • Tests
      • RSpec
    • Code management
      • GitLab
    • Hosting
      • Scaleway
      • Hetzner
  • Soundly

    February 2013 – February 2014

    Reincornation of Simple Player as web service (site). Plays local files (selected via browser) and integratation with VK (again). Without visualizer, sadly. But it worked with VK Audios faster (especially search, global too), than VK itself. Util VK has closed their Audio API for monetization. Single file of plain JavaScript with about 1500 LOC: I didn’t think about architecture and third-party tools (libraries) at this time.

    Technologies:

    • Front-end
      • JavaScript
    • Integrations
      • VK API
  • Simple Player

    June 2011 – July 2012

    Music player for Windows, plays local files or audios from VK.com. My main project on Delphi, I’ve learned a lot of things and was trying to make a good design (via FireMonkey). It was hard to make a good (in my taste) visualizer.

    Technologies:

    • General
      • Delphi (FireMonkey)
    • Integrations
      • VK API

Job tests

  • Ruby Developer at PayApp

    December 2020, 6.5 hours

    Two miscroservices, communicating via HTTP API, for solving square equation and for checking results.

    Not too much new for me, I was expecting something like Kafka or RabbitMQ, but I’ve tried Grape just for fun education.

    Technologies:

    • Back-end
      • Ruby
      • Grape
      • PostgreSQL
      • Sequel
      • Faraday
    • Tests
      • RSpec
    • Code management
      • GitHub
  • Ruby Developer at Realy

    December 2020, 12.5 hours

    Ruby on Rails application (I had not too much experience with it), feed of User records from PostgreSQL via Elasticsearch (gem chewy).

    Emphasis on RSpec tests, fabrication.

    Technologies:

    • Back-end
      • Ruby
      • Ruby on Rails
      • PostgreSQL
      • ActiveRecord
      • Elasticsearch
    • Tests
      • RSpec
      • Factory Bot
    • Code management
      • GitHub