Skip to content
Michael_Portfolio.ipynb
MR
File browser
Michael_Portfolio.ipynb
profile.jpg
resume.pdf

One editable portfolio notebook. Edits survive refreshes in this tab and reset when the tab closes or the notebook is reset.

michaelml.dev / Michael_Portfolio.ipynb
Selected machine-learning work, research, and evidence in an editable notebook.
[ ]
markdown · Introduction

Michael Rusu

I research and build machine learning systems that perceive, reason, and act in the real world.

U(θ)=−LML(θ)+λr Rresearch(θ)+λc Qcode(θ)+λe Ccuriosity(θ)+λs∑q∈{Pokeˊdex, Guitar, Hardware}XPq(θ)−λb Bbugs(θ),θt+1me=θtme+η ∇θU ⁣(θtme). \boxed{ \displaystyle U(\boldsymbol{\theta}) = -\mathcal{L}_{\mathrm{ML}}(\boldsymbol{\theta}) +\lambda_{r}\,\mathcal{R}_{\mathrm{research}}(\boldsymbol{\theta}) +\lambda_{c}\,\mathcal{Q}_{\mathrm{code}}(\boldsymbol{\theta}) +\lambda_{e}\,\mathcal{C}_{\mathrm{curiosity}}(\boldsymbol{\theta}) +\lambda_{s} \sum_{q\in\{\mathrm{Pok\acute{e}dex},\,\mathrm{Guitar},\,\mathrm{Hardware}\}} \mathrm{XP}_{q}(\boldsymbol{\theta}) -\lambda_{b}\,\mathcal{B}_{\mathrm{bugs}}(\boldsymbol{\theta}), \qquad \boldsymbol{\theta}^{\mathrm{me}}_{t+1} = \boldsymbol{\theta}^{\mathrm{me}}_{t} +\eta\,\nabla_{\boldsymbol{\theta}} U\!\left(\boldsymbol{\theta}^{\mathrm{me}}_{t}\right). } U(θ)=−LML​(θ)+λr​Rresearch​(θ)+λc​Qcode​(θ)+λe​Ccuriosity​(θ)+λs​q∈{Pokeˊdex,Guitar,Hardware}∑​XPq​(θ)−λb​Bbugs​(θ),θt+1me​=θtme​+η∇θ​U(θtme​).​

The formula says I keep becoming a better version of myself through machine learning, research, good code, curiosity, Pokémon collecting, guitar, and hardware. I know im such a nerd

GitHub↗LinkedIn↗Email↗Kaggle↗Twitter↗
View selected workRésumé GitHub
Michael Rusu outdoors in front of bamboo
[ ]
code · Bio
bio_tensor = torch.tensor(list(michael.bio.encode('utf-8')), dtype=torch.uint8)

print('bio_tensor =')
print(bio_tensor)
print(f'\nshape={tuple(bio_tensor.shape)} · dtype={bio_tensor.dtype}')
print('\ndecoded →', bytes(bio_tensor.tolist()).decode('utf-8'))
Output
bio_tensor =
tensor([ 77, 105,  99, 104,  97, 101, 108,  32,  82, 117, 115, 117,  32, 124,
         32,  77,  97,  99, 104, 105, 110, 101,  32,  76, 101,  97, 114, 110,
        105, 110, 103,  32,  69, 110, 103, 105, 110, 101, 101, 114,  32,  38,
         32,  85, 110, 100, 101, 114, 103, 114,  97, 100, 117,  97, 116, 101,
         32,  82, 101, 115, 101,  97, 114,  99, 104, 101, 114,  32, 124,  32,
         85,  67,  70,  32,  72, 111, 110, 111, 114, 115,  32, 124,  32,  80,
        111, 107, 195, 169, 109, 111, 110,  32, 194, 183,  32, 103, 117, 105,
        116,  97, 114,  32, 194, 183,  32, 104,  97, 114, 100, 119,  97, 114,
        101], dtype=torch.uint8)

shape=(113,) · dtype=torch.uint8

decoded → Michael Rusu | Machine Learning Engineer & Undergraduate Researcher | UCF Honors | Pokémon · guitar · hardware
[ ]
code · Train a model on Michael
dataset = MichaelDataset(
    sources=["projects", "experience", "research", "hobbies"]
)

model = TinyMichael(
    architecture="curiosity-transformer",
    objectives=["build", "research", "teach", "collect"]
)

history = model.fit(dataset, epochs=7)

model.eval()
with torch.no_grad():
    predictions = model.predict(michael)

predictions
Output
[ ]
code · Projects
projects = michael.projects(documented=True, sort_by="impact")
display(projects)
Output
14 documented projectsClick a card to open details on the side
[ ]
code · Portfolio categories
# lets sample from my portfolio and break it up into 3 categories
portfolio_sample = michael.projects.sample(n=14, random_state=42)

capability_map = (
    portfolio_sample
    .vectorize(features=["reasoning", "perception", "research"])
    .reduce(method="PCA", dimensions=2)
    .cluster(n_clusters=3)
)

capability_map.plot(
    style="seaborn-v0_8-whitegrid",
    label_points=True,
    title="PCA map of recurring portfolio capabilities",
)
Output
PCA map of recurring portfolio capabilities grouped into Reason and serve, Perceive and act, and Research and predict
[ ]
code · Experience timeline
experience = michael.experience()
experience.timeline()
Output
OpenAI logo
2026 – Present

Codex Ambassador · OpenAI

Supporting the global developer community with practical Codex education, agentic coding workflows, and product feedback.

CodexAgentic codingDeveloper educationCommunity feedback
Perplexity AI logo
Jan 2026 – Jun 2026

Comet Ambassador · Perplexity AI

Introduced Perplexity Comet browsing and AI-assisted research workflows to the UCF community during a completed six-month ambassadorship.

CometAI-assisted researchDemosCommunity outreach
VARLAB, UCF logo
Aug 2025 – Present

Undergraduate Researcher · VARLAB, UCF

Conducting ML and XR research through virtual environments, experimental systems, and data pipelines.

UnityXR/VRMachine LearningData pipelines
KSRP, UCF logo
Jan 2026 – Jun 2026

Undergraduate Researcher · KSRP, UCF

Completed research on resilient on-device RAG with knowledge graphs for personalized language models.

GraphRAGMLC-LLMKnowledge graphsEdge AI
Knight Hacks logo
Aug 2025 – Present

Director of Workshops & Hackathon Organizer · Knight Hacks

Leading technical workshops and organizing hackathon programming for the UCF developer community.

AI/ML educationSoftware engineeringEvent operations
Lockheed Martin logo
Summer 2024

Machine Learning Intern · Lockheed Martin

Built and deployed machine-learning systems for aerospace inspection and integrated them into established engineering workflows.

Machine LearningCADValidationProduction data pipelines
SCC Soft Computer logo
Summer 2023

MIS Intern · SCC Soft Computer

Supported network infrastructure and security for healthcare systems serving hospitals and laboratories.

NetworkingInfrastructure securitySystems administration
AI Club ELHS logo
2023 – Jun 2025

Project Lead · AI Club ELHS

Led student machine-learning projects and taught AI fundamentals through June 2025.

PythonComputer VisionNLPReinforcement Learning
[ ]
code · Experience graph
michael.experience().graph()
Output

Michael, quantified

Three-panel chart of Michael's production impact, recognition and open-source work, and hobbies and collections, generated with Matplotlib.
As of July 19, 2026. A plus sign marks a lower bound; production uses a logarithmic magnitude axis, recognition is categorical, and hobby radii use a logarithmic scale.
Michael, quantified, as of July 19, 2026
CategoryMetricValueNote
Production impactUsers reached by a production bot150K+Lower bound
Production impactCommands processed since launch2M+Lower bound
Production impactProduction uptime99.9%
Production impactOperational savings from an ML workflow$15K / WEEK
Recognition & open sourcePublic hackathons with a winning project3 OF 5Three winning projects across five public hackathons.
Recognition & open sourceOpen-source merge PRMERGED PRMerged into Hugging Face Datasets v4.8.
Recognition & open sourceFlash Linear Attention merge PRMERGED PRPR #910 merged into Flash Linear Attention (FLA).
Recognition & open sourceOpenAI Codex Ambassadors1 OF 149One of 149 OpenAI Codex Ambassadors.
Hobbies & collectionsPokémon caught2,018
Hobbies & collectionsShiny Pokémon14
Hobbies & collectionsYears playing guitar1
Hobbies & collectionsSongs learned40
Hobbies & collectionsLive performances1
Hobbies & collectionsVinyl records32
[ ]
code · Next step
michael.next_step()
Output

Selected work · research · engineering

Let’s build something useful.

Have a research question, applied ML problem, or ambitious product idea?

Start a conversation Résumé GitHub
Python 3 · PyodideWorker: CPUConnecting…Command modeLn 1, Col 1