Full-stack Software Engineer (Search)2017 - 2018Udemy
Technologies: React, Python, Elasticsearch, Django REST Framework, Django
- Worked with Django and Elasticsearch on a search app's back-end and indexing infrastructure.
- Worked with React on a search app's front-end.
- Developed new features for and made improvements to the search app and APIs.
- Maintained a search back-end and APIs, an Elasticsearch cluster, and indexing infrastructure.
Back-end Engineer2016 - 2017Kuiz
Technologies: gRPC, React, GraphQL, MongoDB, Express.js, Node.js, Elasticsearch
- Took part in architectural and design-related decisions.
- Worked on the design and implementation of the platform's back-end.
- Built from scratch Kuiz's search back-end and search API which supports a common functionality expected from a search engine like filtering, autocorrect, autocomplete and suggestions. I used Elasticsearch, Node.js, and Express.js.
- Implemented the architecture of a remote procedure call so that it could call procedures in other languages and servers from the platform's main server written in Node.js. I used GRPC.
- Developed the implementation of the data ontology in the backend and the database (MongoDB).
- Worked on Kuiz's main query API in the back-end implemented with GraphQL.
Software Engineer2015 - 2016Yonca Technology
Technologies: Angular, MySQL, Python, Redis, Express.js, Node.js, JAX-RS, Java, Elasticsearch
- Designed and implemented a plagiarism detection engine and web service, collectively called Ayna, which detects plagiarism in free text from across millions of documents in mere seconds.
- Designed and implemented plagiarism detection algorithms in Sazan (Ayna's core engine), leveraging Elasticsearch for source retrieval, and built a RESTful API for Sazan with JAX-RS.
- Built Ayna-REST, a RESTful web service that lets users analyze their documents for plagiarism and stores the results, with Node.js, Express, MongoDB and Redis.
- Implemented a persistent task queue for long running jobs in Ayna-REST with Redis and Kue.
- Improved line boundary detection algorithm of a research paper metadata extraction service by combining the positional information in PDF and layout information obtained from graphical layout analysis using Tesseract.
- Developed a medical text de-identifier called Deident in Python which removes sensitive information about doctors and patients from electronic health records, replacing them with unique identifiers.