About Me

I’m an AI/ML engineer working on the infrastructure and product layer around generative models.

At Lumina, I work on the systems that turn a growing collection of models and capabilities into something a product can actually use. I helped take the platform from image generation into video, speech, music, and super-resolution, building the orchestration, shared contracts, capability abstractions, and document-model support those modalities required. Today, more than 30 models from 14 providers run through that foundation.

What interests me isn’t simply connecting another model to an API. It’s figuring out how very different models can become part of the same system: how their capabilities are represented, how their constraints reach the user, how an agent decides which tool to use, and how the platform can evolve without every new model becoming another special case.

My path into this work started in HCI and user research. I spent years studying how people interact with software, designing interfaces, running usability studies, and teaching computer science. I still bring that perspective to engineering. An AI system isn’t finished when the model returns an output; the surrounding system has to make that capability understandable, usable, and reliable.

That’s the kind of work I like: deep technical systems with a human-facing consequence.

Selected Work

Five projects worth describing, in general terms — employer systems, model vendors, and commercial figures are deliberately left out.

From image generation to a multi-modal platform

The platform’s image generation was already strong. Extending it into video, speech, music, and super-resolution meant building new infrastructure under each one — not simply adding another vendor API call.

  • Ten new generation pipelines, one for each modality added
  • New async job types, and output handling for each new media type
  • Video support added to the shared canvas document model
  • 36 source modules and 50 test suites written from scratch

The abstraction underneath

Thirty integrations done thirty separate times is not a strategy. The work was deciding where vendor-specific behaviour is allowed to live, so each new provider costs less than the last.

  • 14 shared abstractions — provider interfaces, cross-service request contracts, typed enums replacing stringly-typed parameters
  • Capability differences held as declarative data rather than branching logic across six services
  • 30+ models from 14 providers now integrate through common interfaces
  • A straightforward image model takes about an hour to integrate, down from half a day

An asset-registration subsystem, built alone

Designed, built, and tested solo, and shipped as a sequenced multi-stage rollout — 1,100+ lines at sole authorship.

  • Vendor client package with retry and status-reconciliation sweep
  • Asset-role data model and atomic namespaced metadata writes on PostgreSQL
  • Agent-facing registration tooling
  • Replaced per-request inlined pixels with reference-by-ID

Judging what a model made

Evaluation for systems where the thing being assessed is a model rather than a person — which is where research training turns out to be an engineering advantage.

  • A rubric-based vision-language-model judge for automated layout-quality scoring
  • Three independent scoring components against curated reference sets
  • Scenario-based evaluation flows for LLM tool selection
  • Tool schemas and agent instructions supporting selection across 30+ models

Arguing for the type system

A 246-line architecture proposal for video-editing support, currently in delivery.

  • Argued the extension point belonged in the type system rather than the URL space
  • Specified a first-class task dimension with a capability matrix
  • Succeeds an interim catch-and-resubmit approach

Designing for agents

A surprising amount of an agent’s behaviour is decided in prose, and almost none of it by the model alone. Somebody has to choose what the agent is told, what the user is told, and what happens when a model says no.

  • The instructions an LLM reads to choose a tool are an interface — written for a reader, tested against behaviour, revised when the reader misunderstands
  • Thirty models with different accepted ratios, durations, and prompting requirements is a usability problem long before it is an engineering one
  • A provider rejection reaching the user as a raw error is a dead end; classified and answered with a remedy, it becomes a next step
  • Free-text prompting replaced with a 35-entry curated style library, typed end to end from tool schema to vendor call
  • A tool that isn’t reliable yet shouldn’t be selectable by the model — a reliability gate before it becomes agent-visible is a cheap safeguard

Resume

You can view and download my resume in PDF from here

Software Engineer, ML Generalist | Lumina Platforms Inc.

OCT 2025 - PRESENT, Toronto
  • Expanded a creative generation platform beyond images into video, speech, music, and super-resolution, designing the async orchestration, media handling, and shared document-model infrastructure required to support new modalities.
  • Designed shared provider abstractions and cross-service contracts for a multi-provider model platform, enabling 30+ models from 14 providers to integrate through common interfaces.
  • Designed and built a production asset-registration subsystem, including vendor integrations, storage, retry and reconciliation workflows, asset-role modeling, metadata management, and agent-facing tooling.
  • Designed model-facing API contracts, prompting, capability guidance, and error handling, including a typed style library and backward-compatible model interfaces across providers with different requirements.
  • Built a rubric-based VLM judge for automated layout-quality evaluation and scenario-based evaluation flows for LLM tool selection; engineered tool schemas and agent instructions supporting selection across 30+ models.

ML Research Intern | Lumina Platforms Inc.

MAY 2025 - SEP 2025, Toronto
  • Conducted diffusion-model research, built production ComfyUI generation workflows, and collected data, labeled, and trained LoRA adapters for brand-specific style and subject control.

Lecturer | Computer Science and IT, York University

MAY 2020 - PRESENT, Toronto
  • Designed curriculum and taught 1,000+ students across 20+ sections in Data Structures, System Analysis & Design, Web Technologies, User Interfaces, and Information Mapping & Networks.
  • Taught data visualization and analysis concepts spanning data preparation, exploratory analysis, visual encoding, and information representation, alongside programming and software-engineering fundamentals.
  • Facilitated real-world project integration within my courses in partnership with YorkU Project Commons.

Research Scientist | Practices in Enabling Technologies (PiET) Lab, York University

SEP 2018 - APR 2025, Toronto
  • Developed an empirically derived group-persona technique for inclusive assistive-technology design, applied to a writing system for people with deaf-blindness and motor impairments.
  • Designed a usability evaluation framework and analyzed data from 151 participants; designed and directed Think Aloud sessions.
  • Contributed to accessible learning and DIY tools for visually impaired children, including 3D assembly guidelines and accessible tutorials.

Product Designer and Front-end Developer | Adanic Banking Informatics

DEC 2016 - JUL 2018, Tehran
  • Designed and contributed to implementation of iOS, Android, and web banking products, establishing a unified cross-platform design approach adopted by two additional banks.
  • Conducted stakeholder interviews, contextual inquiries, and usability testing, and produced annotated high-fidelity prototypes for development teams and clients.

UX/UI Design Intern | Torob Online Markets Search Engine

JUN 2016 - SEP 2016, Tehran
  • Conducted UX research, card sorting, and interface design for web and mobile product experiences.

Education

  • MSc Human-Computer Interaction | York University
  • BSc Software Engineering | Amirkabir University of Technology

Honors & Awards

  • Graduate Entrance Scholarship / Lassonde School of Engineering • 2018
  • 2nd Place / Local ACM Contest • 2014
  • 1st All-girls Team / Regional ACM Contest • 2013 & 2014
  • 99.5 percentile / National University Entrance Exam • 2013 • Iran