Full-stack Web Developer
2018 - 2019Integral Agile (via Toptal)- Built new features in React UI and Rails back end. Everything was running inside Docker containers with docker-compose.
- Added new custom authorization system on the back end and front end in Rails and JavaScript.
- Optimized Rails back end API endpoints response time with SQL query optimization.
- Created better data selection in Redux with reselect library.
- Wrote Jest and RSpec unit tests.
- Created login, register, and log out mechanism with email sending that combines API tokens and UI experience for the user. Used mailcatcher, devise_token_auth, and devise gems to make this possible.
- Implemented drag and drop, drag preview, and drop preview logic in React using react-dnd library.
- Implemented handling of big lists in React using the react-virtualized library.
- Transferred async jobs to use Sidekiq instead of ActiveJob for performance reasons.
- Registered users on Firebase and dealt with permissions for accessing data in Firebase. Both on the back end and the front end.
- Created multiedit fields that show who is editing viewable text on the screen with Firebase.
Technologies: JavaScript, Jest, PostgreSQL, RSpec, Docker Compose, Docker, Redux, React, Ruby on Rails (RoR), RubyRuby and React Full-stack Web Developer
2018 - 2018Software Lead Weekly (via Toptal)- Shipped full features, from Ruby on Rails back end to React front end.
- Added support for adding a company on a personal profile. Also built a company page which showcases the user within the company.
- Set up Sidekiq and added Rails mailers for sending emails.
- Built comment and review part of the website. Users can ask for reviews from reviewers, and enable comments from normal users.
- Prepared the project for launch with the whole team.
Technologies: JavaScript, Redux, PostgreSQL, RSpec, React, Ruby on Rails (RoR), RubySoftware Engineer
2015 - 2018Rendered Text- Built AWS deployment integrations for projects. Integrated with services such as Elastic Beanstalk, Lambda, S3.
- Developed integrations with Docker Registry providers for projects that use Docker.
- Released a gem for asynchronous rendering of parts of the HTML page.
- Rewritten the "Build" page of the Semaphore CI using React and Redux, together with Rails API and Pusher.
- Created a Dockerized web service in Elixir that tracks user's waiting time for a build using RabbitMQ. It also tracks usage in a certain project, and can calculate data for weekly insight mails that is sent to users.
- Transfered Rails Asset Pipeline assets to the webpack manages assets. Set up Jest and tools like ESLint, prettier inside a big old Rails project.
- Increased whole JavaScript code coverage to above 95% writing tests with Jest.
- Kept dependencies up-to-date, both Rails gems and JavaScript packages.
- Built a page where users can gain insight in ther CI speed and how much are they waiting for their builds to start.
- Wrote Elixir microservice for sending emails about waiting times to users.
Technologies: Cucumber, Jest, Redux, PostgreSQL, Amazon S3 (AWS S3), RSpec, Docker, Elixir, JavaScript, Ruby on Rails (RoR), RubyResearch Scholar
2016 - 2016Rice University- Set up crawlers to crawl through Alexa toplists using Python and Scraping Hub.
- Distinguished websites which block adblocking software from the one that don't by parsing the website's HTML, JavaScript, and HAR.
- Configured and used a huge cluster of computing power to parse through the scraped data.
- Created a tool in Rails to scan couple of projects, that track and maintain adblocking related lists, for any recent changes.
Technologies: JavaScript, Ruby on Rails (RoR), Ruby, C++, Python