ML Engineer.

About me

Name: Ignacio Avas
Countries: 🇺🇾 🇪🇸 🇧🇪
Languages: Spanish, English, Italian, Dutch

As a sea­soned Ma­chine Learn­ing En­gi­neer and Soft­ware De­vel­op­ment Leader with over a decade of ex­per­tise, I spe­cial­ize in Rec­om­men­da­tion and Clas­si­fi­ca­tion Sys­tems. I pi­o­neered the de­vel­op­ment of ad­vanced AI tools, in­clud­ing a rec­om­mender sys­tem that stream­lines can­di­date vet­ting and a rank­ing sys­tem that en­hances job search rel­e­vance on a lead­ing HR plat­form. I also led the de­sign and im­ple­men­ta­tion of a POS soft­ware sys­tem ex­ten­sively de­ployed across thou­sands of re­tail out­lets in the US and Canada. My fo­cus re­mains on de­vel­op­ing rec­om­men­da­tion and on­line clas­si­fi­ca­tion sys­tems, with an em­pha­sis on ex­plain­abil­ity, in­ter­pretabil­ity, and bias mit­i­ga­tion. My ro­bust ed­u­ca­tional back­ground in ma­chine learn­ing and soft­ware en­gi­neer­ing sup­ports my com­mit­ment to in­no­v­a­tive and eth­i­cal tech­nol­ogy so­lu­tions.

Skills

The most complicated one is to be simple.
Dejan Stojanović

As a sea­soned tech pro­fes­sional, I pos­sess a ro­bust skill set span­ning Ar­ti­fi­cial In­tel­li­gence, Ma­chine Learn­ing, Deep Learn­ing, and Data Sci­ence, with four years of ex­pe­ri­ence in each do­main. I'm pro­fi­cient in Python, Ten­sor­Flow, Py­torch, and Pan­das, along­side ex­per­tise in AWS for cloud-based so­lu­tions and Apache Kafka for real-time data streams. Ad­di­tion­ally, I have prac­ti­cal knowl­edge in Nat­ural Lan­guage Pro­cess­ing, Com­puter Vi­sion, and de­vel­op­ing chat­bots. My tech­ni­cal prowess is com­ple­mented by strong ca­pa­bil­i­ties in man­ag­ing large datasets, de­sign­ing data pipelines, and data ware­hous­ing.

  • Machine Learning
  • Natural Language Processing (NLP)
  • Artificial Intelligence (AI)
  • Deep Learning
  • Python
  • Computer Vision
  • Large Language Models (LLM)
  • Chatbots
  • Data Science
  • Data Warehousing
  • Data Pipelines
  • Tensorflow
  • Pytorch
  • AWS
  • SQL
  • Apache Kafka
  • Pandas
  • Scikit learn

Projects

Sometimes it is the people no one imagines anything of who do the things that no-one can imagine.
Alan Turing
Flappy Bird Perspective shot showing a red bird flying over green tubes, over a bridge

Flappy Bird

Flappy Bird is an OpenGL game made as as­sign­ment for a Com­puter Graph­ics course in the Uni­ver­sity. The game is a clone of the pop­u­lar mo­bile game Flappy Bird where the player must tap the screen to make the bird fly and avoid the green tubes. The game was made in C++ us­ing the OpenGL li­brary and the SDL li­brary for the win­dow cre­ation and in­put han­dling. The game fea­tures a main menu, a game over screen, and a score sys­tem. We won the first place in the course com­pe­ti­tion with this game.

1vs100 Phone shot on a black background

One vs One Hun­dred

1 vs 100 for Win­dows Mo­bile was a pro­ject which be­gan as an as­sig­ment of an Uni­ver­sity course in as­so­ci­a­tion with Mi­crosoft Uruguay. The ob­jec­tive was to de­sign a game based in the amer­i­can TV show of the same name. The game must al­low mul­ti­ple play­ers to join a game and com­pete against them­selves re­quir­ing only an in­ter­net con­nec­tion in their phones. We also re­quired to make an Ad­min­is­tra­tion site to man­age the con­tent avail­able within the game. The re­sult was im­pres­sive as we proved that is pos­si­ble to make a qual­ity game in the Win­dows Mo­bile plat­form. The pro­ject was com­pleted in 14 weeks.

RPSolver

RP­Solver

RP­Solver is a tool that was re­leased as part of my pub­li­ca­tion for us­ing Pho­ton Map­ping for solv­ing ar­chi­tec­ture prob­lems. The tools al­lows the user to up­load an scene and the tool will gen­er­ate a pho­ton map ren­der­ing for it. This tool was de­vel­oped in C++ us­ing the Op­tiX li­brary for ray trac­ing and CUDA for the par­al­lel pro­cess­ing.

SCIS iPad screenshot showing the login screen

SCIS

Suit­eCom­merce In­Store is a point of sales ap­pli­ca­tion that lever­age Net­suite ERP ca­pa­bil­i­ties with web tech­nolo­gies. It is de­vel­oped mainly in Javascript and Swift. It pro­vides re­tail­ers with a so­lu­tion that uni­fies the phys­i­cal and dig­i­tal shop­ping ex­pe­ri­ences within a sin­gle, cloud-based com­merce plat­form. Us­ing a mo­bile de­vice, your sales as­so­ci­ates can ac­cess in­ven­tory and cus­tomer in­for­ma­tion to en­gage cus­tomers ef­fec­tively, drive more sales, and pro­vide a sat­is­fy­ing shop­ping ex­pe­ri­ence.

Say Cheese login screen showing email and password

Say Cheese

This pro­ject was the main re­sult of an Uni­ver­sity course I par­ticiped in with 3 pat­ners. The aim of the course was the con­struc­tion of a Web Ap­pli­ca­tion for both events (like par­ties, wed­dings, etc.) hosts and guests to share dif­fer­ent re­sources like pho­tos and videos. The hosts or­ga­nize events on the site and the event guests up­load con­tent from dif­fer­ent places like Youtube, Vimeo or their com­put­ers. In a nut­shell the ap­pli­ca­tion is a suite that al­lows to man­age events and it be­haves like a so­cial net­work in the way that al­lows users to in­ter­act be­tween them by send­ing mes­sages, or things like be­ing tagged in pho­tos. Say Cheese also in­te­grates with Face­book, Twit­ter, Google Maps and al­lows users to safely lo­gin us­ing their Face­book ac­count.

Pasteboard login screen displaying website features

Paste­board

Paste­board is a link shar­ing app ori­ented to share links among cowork­ers, or peo­ple that work in the same pro­ject. It aims to re­place wikis and make shar­ing and main­tain­ing in­for­ma­tion about pro­jects more eas­ily.

SDF Browser snapshot

Scrap­ing De­vel­op­ment Frame­work

SDF is a Python frame­work that al­lows to easy scrape a site. It en­ables to make XPath and CSS queries to quickly parse a web­site. The fo­cus of the frame­work is to make the job of mak­ing a scraper eas­ier, al­low to parse sites with mil­lions of items, and be able to ex­port the items in sev­eral for­mats rang­ing from CSVs to MySQL data­base dump. SDF uses browsers (as in a Web Browser) to do the job. Browsers come in two fla­vors: the We­bKit­Browser, a stan­dard browser (sim­i­lar to Sa­fari or Chrome) that can be con­trolled through python code. We­bkit­Browser man­ages javascript, flash and other types of con­tent. The other type of browser is the Ba­sicBrowser, a min­i­mal­is­tic and faster ver­sion of We­bKit­Browser that does­n't han­dle javascript di­rectly. SDF fea­tures re­cov­ery and par­al­lel pro­cess­ing, so mul­ti­ple browsers can be used con­cur­rently to scrape a large site in hours.

Notranzo website showing product list

No­tranzo site

The pur­pose of this pro­ject was to build an ap­pli­ca­tion to sup­port an com­put­ing sal­ing store. The sys­tem must fea­ture a con­trol panel for the em­ploy­ees in dif­fer­ents branches to man­age the prod­ucts, the stock avail­able for each one, make move­ments be­tween branches, and make sales of them. Also a web­site must be build to im­ple­ment a vir­tual on­line branch that of­fers its prod­ucts in the in­ter­net. This pro­ject was made as an as­sig­ment of an Uni­ver­sity course. The pur­pose of this pro­ject was to build an ap­pli­ca­tion to sup­port an com­put­ing sal­ing store. The sys­tem must fea­ture a con­trol panel for the em­ploy­ees in dif­fer­ents branches to man­age the prod­ucts, the stock avail­able for each one, make move­ments be­tween branches, and make sales of them. Also a web­site must be build to im­ple­ment a vir­tual on­line branch that of­fers its prod­ucts in the in­ter­net. This pro­ject was made as an as­sig­ment of an Uni­ver­sity course.

Mario Style question mark

Your Pro­ject?

Feel free to con­tact me if you want to col­lab­o­rate on a pro­ject or if you have any ques­tions. I'm al­ways open to new ideas and op­por­tu­ni­ties. Let's cre­ate some­thing amaz­ing to­gether!

Experiences

Design and programming are human activities; forget that and all is lost
Bjarne Stroustrup
Hired logo

Hired

Ma­chine Learn­ing En­gi­neer

2021 - Pre­sent
  • I de­vel­oped rank­ing sys­tems us­ing XG­Boost and Python, en­hanc­ing the rel­e­vance of job­seek­ers in on­line searches with a 10% in­crease in NDCG. I en­gi­neered vec­tor em­bed­dings from re­sumes us­ing Sen­tence BERT and RoBERTa, cre­at­ing a rec­om­men­da­tion sys­tem that show­cases sim­i­lar can­di­dates. I co-au­thored a pa­per pre­sented at the SMC 2023 con­fer­ence and de­signed an au­to­matic re­sume clas­si­fi­ca­tion sys­tem that sig­nif­i­cantly im­proved ac­cu­racy and re­call us­ing Ten­sor­Flow. I man­aged ML Ops for de­ploy­ing ma­chine learn­ing ser­vices, in­cor­po­rat­ing CI/​CD prac­tices for se­cu­rity and cur­rency. I im­ple­mented fair­ness strate­gies in our al­go­rithms to en­sure bias pre­ven­tion across dif­fer­ent racial groups and gen­ders. Ad­di­tion­ally, I main­tained a dy­namic GPT in­te­grated with Hired.com, pro­vid­ing pro­file sug­ges­tions and han­dling over 200 real-time con­ver­sa­tions.
Tophatter logo

Tophat­ter

Soft­ware En­gi­neer & Ma­chine Learn­ing En­gi­neer

2020 - 2021
  • As a Soft­ware En­gi­neer at Tophat­ter, I led sev­eral key pro­jects to en­hance the plat­for­m's func­tion­al­ity and user ex­pe­ri­ence. I uti­lized tech­nolo­gies such as Re­act, Type­Script, Ruby on Rails, and AWS. My lead­er­ship helped stream­line op­er­a­tions and im­prove the user in­ter­face.
  • Tran­si­tion­ing to a role as a Ma­chine Learn­ing En­gi­neer, I de­vel­oped a rec­om­mender sys­tem to in­crease user en­gage­ment by sug­gest­ing rel­e­vant items, be­com­ing the pri­mary nav­i­ga­tion method on the plat­form. I em­ployed a shal­low Neural Net­work, which out­per­formed the older rule-based sys­tem, par­tic­u­larly in at­tract­ing and re­tain­ing new users. For this, I used tech­nolo­gies like Python, Scikit-learn, Pan­das, and XG­Boost. This ini­tia­tive, dri­ven by the CEO, was suc­cess­fully in­te­grated into the web­site through A/​B test­ing, en­hanc­ing user in­ter­ac­tion and boost­ing en­gage­ment.
Hired logo

Hired

Full Stack Sofr­ware En­gi­neer

2018 - 2020
  • As a full-stack soft­ware en­gi­neer on the Can­di­date team, I fo­cused on en­hanc­ing our plat­for­m's ef­fi­ciency and user en­gage­ment. I de­creased on­board­ing flow at­tri­tion by 10% by mi­grat­ing part of the flow from HAML to Re­act and Re­dux, sig­nif­i­cantly stream­lin­ing the user ex­pe­ri­ence. Ad­di­tion­ally, I im­proved our CI/​CD build per­for­mance by 100%, op­ti­miz­ing our de­ploy­ment processes.
  • I was also in­volved in in­te­grat­ing an ex­ter­nal as­sess­ments sys­tem, which sig­nif­i­cantly in­creased can­di­date en­gage­ment on our plat­form. This new fea­ture was used by 25% of the can­di­dates, demon­strat­ing its ef­fec­tive­ness and rel­e­vance. I worked with tech­nolo­gies in­clud­ing Re­act, Re­dux, Ruby on Rails, Post­greSQL, Apache Kafka, AWS, and Heroku through­out these pro­jects.
Sophilabs logo

Sophi­l­abs

Re­search and Python De­vel­op­ment

2017 - 2018
  • Work on Re­search and De­vel­op­ment, and build­ing so­lu­tions pri­mar­ily us­ing Django, Python and Node.js tech­nolo­gies. I fo­cused my re­search in Ma­chine Learn­ing, Elixir. I helped as a men­tor train­ing new hires in the New York branch of the com­pany.
Netsuite logo

Net­suite (ac­quired by Or­a­cle)

Team Lead, Soft­ware En­gi­neer­ing

2013 - 2017
  • In my pe­riod in Net­suite I con­tributed to the de­vel­op­ment of Suit­eCom­merce In Store, a Point of Sale soft­ware lever­ag­ing the Net­suite plat­form, Back­bone, Sass, and mo­bile first de­vel­op­ment. Also tak­ing pri­or­ity of mak­ing qual­ity and ro­bust soft­ware, and hav­ing a clean code base. Us­ing SCRUM for fol­low­ing an ag­ile de­vel­op­ment cy­cle.

Free­lanc­ing

Ruby De­vel­oper

2012 - 2013
  • I spent a one year spell free­lanc­ing, where I mainly coded in Ruby and other tech­nolo­gies in­clud­ing Sina­tra, Node.js, and Cof­fee­Script in 1 to 3 month pro­jects.
Arkano logo

Arkano

.NET De­vel­oper

2011 - 2012
  • In this pe­riod, I par­tic­i­pated in the de­vel­op­ment of sev­eral short pro­jects us­ing tech­nolo­gies in­clud­ing Share­Point, BizTalk, SQL Server, and other Mi­crosoft based prod­ucts.
Udelar logo

Uni­ver­sity of the Re­pub­lic

As­sis­tant Pro­fes­sor

2009 - 2014
  • I was a part time Pro­fes­sor, par­tic­i­pat­ing in dic­tat­ing Ob­ject Ori­ented Pro­gram­ming, C++, Java and Web De­vel­op­ment re­lated courses.
Giglobaljob logo

Giglob­alJob

Python De­vel­oper

2009 - 2011
  • My pri­mary re­spon­si­bil­i­ties in­cluded de­sign and de­vel­op­ment of var­i­ous frame­works and stand­alone pro­grams to help web de­vel­op­ment and web scrap­ing from ini­tial plan­ning to fi­nal pro­duc­tion.

Publications

Somewhere, something incredible is waiting to be known.
Carl Sagan

I have cre­ated mod­els and meth­ods to im­prove rec­om­men­da­tion sys­tems and solve light­ing prob­lems in de­sign. My work on Align Macrid­VAE com­bines vi­sual and text data to make rec­om­men­da­tions more ac­cu­rate and eas­ier to un­der­stand. I also used search data and trans­form­ers to learn how items are sim­i­lar, and de­vel­oped a pho­ton trac­ing method to make light­ing de­sign in ar­chi­tec­ture more ef­fi­cient.

  • Align Macrid­VAE: Mul­ti­modal Align­ment for Dis­en­tan­gled Rec­om­men­da­tions

    ECIR 2024: Ad­vances in In­for­ma­tion Re­trieval

    Item Alignment Item alignment generated by the recommendation algorithm

    In this pa­per, we in­tro­duce a new rec­om­men­da­tion model that com­bines text and im­age data to sug­gest items to users. By align­ing the vi­sual and tex­tual de­scrip­tions in a shared space, our model bet­ter un­der­stands item fea­tures, im­prov­ing rec­om­men­da­tion ac­cu­racy and help­ing us vi­su­al­ize user pref­er­ences based on dif­fer­ent item as­pects. This pa­per was based on my mas­ter the­sis at KU Leu­ven.

  • Learn­ing Ré­sumé Em­bed­dings with Search Data and Trans­form­ers

    2023 IEEE In­ter­na­tional Con­fer­ence on Sys­tems, Man, and Cy­ber­net­ics (SMC)

    Model Architecture Model architecture for learning résumé embeddings

    In this pa­per, we ex­plore how users' clicks and in­ter­ac­tions with search re­sults can teach us about the hid­den con­nec­tions be­tween dif­fer­ent search re­sults. By an­a­lyz­ing these in­ter­ac­tions, we can build a model that iden­ti­fies which search re­sults are sim­i­lar in a way that is­n't ob­vi­ous at first. We use ad­vanced tech­niques like con­trastive learn­ing with BERT mod­els to train this sim­i­lar­ity model, which helps us make bet­ter rec­om­men­da­tions based on what users are ac­tu­ally in­ter­ested in. This work was based on re­search made while I was work­ing at Hired.

  • A Pho­ton Trac­ing Ap­proach to Solve In­verse Ren­der­ing Prob­lems

    Con­fer­ence On Graph­ics, Pat­terns And Im­ages (SIB­GRAPI), 2018

    RP Solver Conference Solution Conference solution generated by the optimization algorithm

    In this pa­per, we in­tro­duce a new method to help de­sign­ers achieve their light­ing goals more ef­fi­ciently. By com­bin­ing pho­ton trac­ing with an op­ti­miza­tion tech­nique, our ap­proach han­dles var­i­ous light­ing needs with­out re­quir­ing lots of com­put­ing power, and it works well even when the space's shape is part of the de­sign. This pa­per was based on my Com­puter En­gi­neer­ing the­sis at Ude­laR.

Contact

Hiring people to write code to sell is not the same as hiring people to design and build durable, usable, dependable software.
Larry Constantine