James Le Portfolio
RIT-trained ML researcher who built MetaRec — 21 collaborative-filtering models in PyTorch and TensorFlow, benchmarked on MovieLens 1M — and documented the journey from theory to a Django web service. A textbook example of using open-source work as an ML portfolio.
Location
San Francisco, CA
Companies
Credentials
- MS in Computer Science, Rochester Institute of Technology (Dec 2020)
- BA in Communication (Minor in Computer Science), Denison University (May 2017)
Skills
Notable
- 25+ articles on Towards Data Science with 900,000+ views and 250,000+ claps
- Head Teaching Assistant for the Full Stack Deep Learning course
What makes it work
A breakdown of the choices that make this portfolio stand out.
Open-source library as primary portfolio piece
MetaRec is not a toy project — it implements 21 collaborative filtering models across matrix factorization, multilayer perceptrons, autoencoders and Boltzmann machines, all evaluated on the MovieLens 1M dataset. Publishing it on GitHub with documentation transforms personal research into a public contribution that every future employer can inspect, run, and evaluate without taking anything on faith.
Reproducible Jupyter notebook documentation
The Data Portfolio page states plainly that it is "a list of my top data analysis projects, in the form of Jupyter Notebooks and R Notebooks," most "fully open-sourced on GitHub" under an MIT license. That framing — reproducible, inspectable, permissively licensed — lets a hiring manager run the exact experiment rather than take a polished write-up on faith.
A personal-wiki homepage with an exhaustive content taxonomy
The site's navigation is unusually long for a personal page — Start Here, About, Work Experience, AI Research, Presentations, Data Portfolio, Data Journalism, Coding Portfolio, MOOCs, Undergraduate Papers, Writes, Reads, Listens, Publishes, Podcasts, Captures, Resume — repeated as a sidebar on every page. It reads as a maintained personal knowledge base rather than a one-off portfolio site, which signals years of consistent upkeep rather than a pre-interview sprint.
A bold, quotable hero headline
The homepage opens on a plain black screen with the oversized line "THE SEXIEST JOB OF THE 21ST CENTURY" — a direct callback to the famous 2012 HBR framing of data science. It is a confident, on-the-nose piece of copy that immediately signals which era and which field the whole site is staking a claim in.
What ML Engineers can take from this
Specific, actionable tips to apply to your own portfolio — no generic advice.
Build one open-source ML project and maintain it seriously. MetaRec succeeds because it implements a coherent family of algorithms with documentation, not because it covers every ML topic. Depth on one problem beats breadth across many.
Use Jupyter notebooks as your documentation format and say explicitly that they are open-sourced under a permissive license. Reproducibility plus a stated license removes the two biggest reasons a reviewer skips past your code.
If you produce a lot of content over years, build a durable taxonomy for it (by type: writing, talks, code, papers) rather than a flat blog feed. A structured personal wiki reads as more serious than a reverse-chronological list.
State a comparative result in plain terms. "Ant colony optimization performed 30% better than genetic evolution" tells a reviewer what was tested and what won in one sentence.
Choose an evaluation benchmark that your field recognises. MovieLens for recommendations, ImageNet for vision, GLUE for NLP — using the canonical benchmark immediately contextualises your results for anyone familiar with the literature.
Projects
Notebooks you can run, under a license that says you may. James Le’s data portfolio is largely open-sourced on GitHub under MIT, with MetaRec, a meta-learning framework for recommendation systems, as the research anchor — work that invites checking instead of asking for trust.
MetaRec: Meta-Learning Meets Recommendation Systems
James Le's RIT master's thesis: a meta-learning framework for collaborative filtering that "includes and unifies" state-of-the-art recommendation models and extends them to operate with limited data. The public repo implements 21 collaborative-filtering models across four families — 7 matrix factorization variants, 5 multilayer-perceptron models (Wide & Deep, DeepFM, xDeepFM, Neural FM, Neural CF), 6 autoencoders (AutoRec through Embarrassingly Shallow Autoencoders) and 3 Boltzmann-machine models — all run on MovieLens 1M (1,000,209 ratings, ~3,900 movies, 6,040 users), plus a Django recommendation web service.
Implementing a whole family of published recommenders against one benchmark — each linked to its source paper — shows the ability to read the literature and turn it into running code. The Django service, with versioned algorithms per endpoint and A/B-test support, shows the research was taken past the notebook.
21 models in four families, each folder linked to the paper it implements
One shared benchmark (MovieLens 1M) across every model, so the comparisons are like-for-like
Django web service: multiple algorithm versions per API endpoint, CI tests for server and research code, A/B-test support, container deployment
Fashion Recommendation: Clothing Retrieval and Visual Recommendation
An end-to-end image classification and visual recommendation pipeline for fashion images. A ResNet-based classifier is trained on the DeepFashion Attribute Prediction subset (289,222 images, 50 clothing categories, 1,000 attributes). Its feature layer captures fabric, style and pattern, and nearest-neighbor search over those features returns visually similar clothes. The AI Research page describes it as a two-stage framework trained on Fashion144k and tested on DeepFashion.
Reusing a classifier's learned embedding for retrieval is the pattern behind most production visual search. Building it on a 289K-image dataset shows data-handling beyond toy scale.
Classifier features reused as the similarity space for recommendations
Trained on 289,222 DeepFashion images with 50 categories and 1,000 attributes
Code split into preprocessing, hyperparameters, input pipeline, model and train/test files
Travel Time Optimization via Ant Colony and Genetic Evolution
Taxi travel-time optimization, framed as a Traveling Salesman Problem over New York City locations. XGBoost first predicts travel time between every pickup/drop-off pair, using NYC Taxi and Limousine Commission 2016 trip records (close to 1.5 million trips, 11 attributes). Ant colony optimization and a genetic algorithm then search for the best itinerary.
Combines a learned cost model with classical metaheuristic search. That is a different skill from pure prediction, and it shows up in logistics, routing and ride-sharing roles.
Regression model supplies the edge costs that the optimizer searches over
Head-to-head comparison of two metaheuristics, with a stated result (ACO 30% better)
Exposes ACO hyperparameters (alpha, beta, rho, q) as CLI arguments
More ML Engineer portfolios
Ready to build your portfolio?
Follow the ML Engineer roadmap — skills, projects, and timeline to get hired.