Martin Mirakyan, Developer in Lisbon, Portugal
Martin is available for hire
Hire Martin

Martin Mirakyan

Verified Expert  in Engineering

Machine Learning Developer

Location
Lisbon, Portugal
Toptal Member Since
January 15, 2017

Martin has several years of experience in the field of machine learning and full-stack development while working for companies like Picsart or YerevaNN Research Lab. He specializes in React and natural language processing (NLP) and has completed many projects in this field. Martin is an exceptional communicator—with frequent reach outs—and has experience working in all types of teams, from small (five members) to large companies like Facebook.

Portfolio

Endor Labs Limited
HTML, CSS, JavaScript, ChatGPT, OpenAI GPT-3 API, OpenAI GPT-4 API...
Clark Alan Fish
Artificial Intelligence (AI), Machine Learning, AI Design, Python, Streamlit...
Profound Academy
Amazon Web Services (AWS), React, Next.js, Google Cloud, Firebase, Algolia...

Experience

Availability

Part-time

Preferred Environment

Git, PyCharm, MacOS, WebStorm, TypeScript

The most amazing...

...project I've created is a C++ neural network library which is based on low-level operations directly done on neurons instead of layers.

Work Experience

Full-stack Developer

2023 - 2023
Endor Labs Limited
  • Developed a full-stack app with Next.js (the App Router) and React (MUI). The app allows users to apply for jobs automatically using ChatGPT.
  • Implemented a system using the ChatGPT API and Playwright. The system fills out online forms automatically and submits them.
  • Used Algolia to index a large corpus of jobs to make them searchable.
  • Implemented a resume-parsing system with PDF.js and the ChatGPT API to extract user-specific information that would be later used when filling out online forms.
Technologies: HTML, CSS, JavaScript, ChatGPT, OpenAI GPT-3 API, OpenAI GPT-4 API, Artificial Intelligence (AI), Web Scraping, Puppeteer, Playwright, Firebase, Vercel, React, Next.js, Streamlit, Firebase Cloud Functions, Algolia, CAPTCHA, Material UI

AI Dev | Tech | Hr

2023 - 2023
Clark Alan Fish
  • Implemented a ChatGPT API-powered app that would analyze different companies' privacy policies and answer users' questions about their privacy.
  • Developed the app's front-end with Streamlit for quick iteration and to ship the MVP in several days.
  • Implemented a summarizer based on ChatGPT that would parse the crawled text and summarize it into smaller chunks to ensure they fit in the GPT model's context length.
Technologies: Artificial Intelligence (AI), Machine Learning, AI Design, Python, Streamlit, OpenAI GPT-3 API, Generative Pre-trained Transformer 3 (GPT-3), Web Scraping, Selenium

AI/Full-stack Developer

2021 - 2023
Profound Academy
  • Developed an educational platform from scratch that provides learners with in-depth interactive computer science courses and an easy-to-use environment for tutors.
  • Launched an AI assistant based on GPT models that helps students get unstuck faster, debug their code to find issues, and point out a direction to work on.
  • Designed an end-to-end experience for tutors to create and maintain their courses. This includes course and exercise editors, statistics and monitoring, user access management, and supported content types.
  • Created a live-coding real-time functionality that helps tutors answer students' questions faster and monitor their progress seamlessly.
Technologies: Amazon Web Services (AWS), React, Next.js, Google Cloud, Firebase, Algolia, Neural Networks, Machine Learning, Python, TypeScript, Material UI, AWS Lambda, Google Cloud Functions, OpenAI GPT-3 API, Generative Pre-trained Transformers (GPT), Generative Pre-trained Transformer 3 (GPT-3), Amazon S3 (AWS S3), Amazon DynamoDB, Amazon EFS, Deep Learning, OpenAI GPT-4 API, Artificial Intelligence (AI), GPT, Vercel, Node.js

Shipping App Developer

2021 - 2021
JM Agency Inc
  • Implemented a custom shipping price estimation mechanism with Flask (Python) to improve the shipping price estimation in Canada.
  • Developed a fully custom Admin UI to configure product and shipping discounts.
  • Integrated the shipping estimations with Shopify through their API.
Technologies: Python, JavaScript, React, Flask, Firebase, Shopify, Shopify API, Shopify Plus

Natural Language Processing Expert

2020 - 2020
Omni
  • Created and deployed a semantic search service built on top of solutions from MS-MARCO competition and Elasticsearch.
  • Trained an extractive summarization based on BERT to facilitate the suggestion service.
  • Helped deploy ML servicers with an automated CI/CD pipeline through GitHub Actions.
Technologies: Python, Flask, Elasticsearch, Docker, Docker Compose, Kubernetes, Amazon Web Services (AWS), TensorFlow, PyTorch, Machine Learning, Deep Learning, Git, Artificial Intelligence (AI)

Software Engineering Intern

2019 - 2019
Facebook
  • Worked on an open-source project called Magma which aims to give network providers a mobile network core solution: Github.com/facebookincubator/magma.
  • Created a command-line interface using the Python Fire library to expose some tool functionality.
  • Used the Ryu SDN framework to dynamically add OpenFlow rules for test packets on the data-link layer.
  • Tested packet tracing along with generating traffic with the Scapy library.
  • Improved logging on the C/C++ level by migrating custom logging implementation to log. Some logs were lost with the previous implementation when the app service crashed.
  • Experimented with the spdlog library to see if it's reasonable to migrate to spdlog in the future.
  • Implemented all the services with gRPC and Protobufs. Added health-checking services to the tool. Used Open vSwitch with Wireshark to debug and trace the packets.
Technologies: Swagger, Protobuf, gRPC, C++, Python

Machine Learning Researcher

2017 - 2019
YerevaNN
  • Participated in DIIN in Keras, the ICLR reproducibility challenge.
  • Published a report on the reproducibility of a DIIN neural network architecture for natural language inference using Keras. The source code can be found in my projects.
  • Handled the Keras implementation of the complex neural network called R-net designed by Microsoft Research for question answering (R-net in Keras).
  • Published a blog post on the implementation details and reproducibility of the R-net paper.
  • Completed my university capstone project: Word2morph2vec.
  • Designed an end-to-end pipeline for extracting "linguistically accurate" morphological vectors for given words or sentences. Experiments were tested and evaluated on the Russian language.
  • Developed a neural network for classifying relations of proteins in biological data.
  • Architected a convolutional neural network with custom attention interaction and used a bidirectional recurrent neural network as a baseline.
  • Used Keras or TensorFlow libraries for deep learning.
Technologies: Keras, TensorFlow, Python, PyTorch, Deep Learning, Machine Learning, Natural Language Processing (NLP), Computer Vision, Deep Neural Networks, Artificial Intelligence (AI)

Software Engineering Intern

2018 - 2018
Facebook
  • Worked on an internal tool for monitoring the viewability of advertisements (Ad measurement team).
  • Used various front-end technologies such as React, Redux, and Flow (UI of the tool).
  • Utilized the following back-end technologies: Hack (database queries and tool logic).
  • Implemented machine learning using Python and FBLearner for predicting ad/viewability score.
  • Presented the final tool in front of the New York, Seattle, and Menlo Park teams.
Technologies: Python, Hack, Flow, Redux, React, Machine Learning, Artificial Intelligence (AI)

Android App Developer

2017 - 2017
Enoram
  • Created several internal monitoring tools (Android apps).
  • Implemented activity tracking on each internal project of the employees. We used an MVVM design pattern with an Android data-binding library in that project.
  • Used RxJava/RxAndroid heavily for easy network request manipulation and fetching information from the database.
  • Authenticated with Firebase, and most of the information was kept in the Firebase real-time database, which we used like a REST endpoint.
  • Developed with a team several libraries which help deal with code easily in the MVVM world. One was creating and populating lists without adapters; just a list of the view models was enough.
Technologies: RxJava, Firebase, Android

Machine Learning Engineer

2016 - 2017
PicsArt
  • Implemented and trained different neural network architectures for image tagging (with Python/Caffe). All uploaded images have to be tagged to be searchable. We trained neural networks to do this work to automate this process with high accuracy.
  • Built a C++ neural network library for providing low-level neuron-based operations instead of layer-based ones.
  • Implemented a neural network for person segmentation (with Lua/Torch). Given an image, the network finds a person inside it and outputs a mask corresponding to that person.
  • Developed a simple Android app for making tests on image captioning. When a user takes a photo, a neural network generates a sentence about that photo that is displayed to the user.
  • Worked on a neural network responsible for mature content detection in pictures.
Technologies: TensorFlow, Caffe, Torch, Lua, C++, Python, Machine Learning, Computer Vision, Deep Learning, Neural Networks, Deep Neural Networks, Artificial Intelligence (AI)

ABCDE: Approximating Betweenness-centrality Ranking with Progressive Drop Edge

https://github.com/MartinXPN/abcde
A graph neural network approach to approximate betweenness-centrality ranking in Graphs. Experiments on real-world and synthetic datasets show that our algorithm is faster in inference and requires several times fewer resources and time to train.

This work is submitted as a journal paper.

EPE-DARTS

https://github.com/MartinXPN/EPE-DARTS
EPE-NAS with DARTS and for faster neural architecture search.

PyTorch Lightning implementation of differentiable neural architecture search with benchmarks on both DARTS search space and NasBench-201 search space. The approach is tested on several datasets, including CIFAR-10, CIFAR-100, MNIST, Fashion-MNIST, and Imagenet.

Neural Network Library

https://github.com/MartinXPN/NeuralNetwork
This library provides a low-level API to perform operations directly on neurons to utilize individual neurons in a neural network better. The current neural network library implementations are concentrated on layer-based operations.

YerevaNN Project Source Code and Additional Details

I published a report on the reproducibility of a DIIN neural network architecture for natural language inference using Keras. The code is open source and available on GitHub.

• https://github.com/YerevaNN/DIIN-in-Keras

I published a blog post on the implementation details and reproducibility of the R-net paper.

• http://yerevann.github.io/2017/08/25/challenges-of-reproducing-r-net-neural-network-using-keras/
• https://github.com/YerevaNN/R-Net-in-keras

I developed an end-to-end pipeline for extracting "linguistically accurate" morphological vectors for given words or sentences. The system is based on FastText and COMBO. Experiments are tested and evaluated in the Russian language.

Source Code:
• https://github.com/MartinXPN/word2morph
• https://github.com/MartinXPN/morph2vec
• https://github.com/MartinXPN/sentence2tags
• https://github.com/MartinXPN/word2morph2vec
• https://github.com/MartinXPN/ag-annotation

I architected a convolutional neural network with custom attention interaction and used a bidirectional recurrent neural network as a baseline.

Source Code
• https://github.com/YerevaNN/RelationClassification

Image Coloring

https://github.com/MartinXPN/ImageColoring
Image Coloring uses neural networks, and this implementation is a Wasserstein GAN for turning greyscale images into colorful ones.

Three Experiments:
• A simple approach: colorize a greyscale image in the lab space. Given the L channel as an input, predict AB channels.
• Classification: the AB space was divided into chunks of colors and treated as a classification problem.
• Wasserstein GAN: used generative adversarial networks to predict AB channels with both first and second approaches.

Spell Checker

Spell Checker is an app designed for editing and correcting texts. The app works offline and supports several languages, including Armenian, English, and Russian. The app currently has more than 100,000 downloads.
2019 - 2021

Master's Degree in Information and Language Processing Technology

Instituto Superior Técnico - Lisbon, Portugal

2015 - 2019

Bachelor's Degree in Computer Science

American University of Armenia - Yerevan, Armenia

Languages

Python, C++, Java, TypeScript, SQL, Lua, Hack, JavaScript, HTML, CSS

Libraries/APIs

React, TensorFlow, Keras, PyTorch, PyTorch Lightning, RxJava, RxJava 2, Firebase Android SDK, Google Maps API, Picasso, Retrofit, ActiveAndroid, Natural Language Toolkit (NLTK), SpaCy, SciPy, Protobuf, Node.js, Shopify API, Puppeteer, Playwright

Paradigms

App Development, Data Science, Model View Controller (MVC), Model View ViewModel (MVVM), Automation

Platforms

Firebase, MacOS, Android, Ubuntu, Docker, Kubernetes, Amazon Web Services (AWS), Algolia, AWS Lambda, Vercel, Shopify

Frameworks

Android SDK, Next.js, Caffe, Redux, Swagger, React Native, Django, gRPC, Flask, Material UI, Streamlit, Selenium

Storage

NoSQL, PostgreSQL, SQLite, Elasticsearch, MySQL, Google Cloud, Amazon S3 (AWS S3), Amazon DynamoDB, Amazon EFS

Other

Artificial Intelligence (AI), Torch, Neural Networks, Machine Learning, GitFlow, Natural Language Processing (NLP), PyTorch Geometric (PyG), Convolutional Neural Networks (CNN), Graph Algorithms, Torchvision, Apps, GPT, Generative Pre-trained Transformers (GPT), Google Cloud Functions, OpenAI GPT-3 API, Generative Pre-trained Transformer 3 (GPT-3), Deep Learning, OpenAI GPT-4 API, Computer Vision, Deep Neural Networks, AI Design, Web Scraping, Firebase Cloud Functions, CAPTCHA

Tools

PyCharm, Flow, IntelliJ IDEA, RxAndroid, Android Studio, Git, Travis CI, Jira, Docker Compose, WebStorm, Shopify Plus, ChatGPT

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring