
Toronto. Computer Science co-op at TMU, class of 2028.
Toronto. Computer Science co-op at TMU, class of 2028.
I'm Nawaf. I build AI tools at Sanofi and ship my own products on the side.
Right now that means Newton, the platform about 700 people at Sanofi use to talk to their data, and TraceReview, the tool I built so we can see what its agents are actually doing. Outside work I run VisualBuild, live on the App Store, and TMU Pulse.

Day job
Full-stack developer at Sanofi, on the CX Data & AI and Commercial M&S teams.
On the side
VisualBuild and TMU Pulse. Both live, both with real users.
Also
Research assistant to Prof. E. Harley at TMU, and working toward AWS Solutions Architect.
Full-Stack Software Developer. May 2026 to now. Toronto.
Sanofi
I work across two teams, CX Data & AI and Commercial M&S. Day to day that is React and Python on top of Snowflake, running on AWS, with Power BI for reporting. I also help ship web releases, which move from dev through UAT to production.
- ~700
- people using Newton
- ~500
- messages a day
- 5
- teams on the platform
- 15+
- data sources unified for CX
Newton, Talk to Data
Sanofi's company-wide platform for asking data a question. Someone asks. Snowflake agents work out the SQL, run it, and come back with results and charts. I ship full-stack features across the platform.
- Chat UI and prompt libraryWhat people see
- Access via Microsoft GraphWho can see which data
- Agents that write the SQLQuestion in, query out
- SnowflakeWhere the data lives
Shipped so far: Microsoft Graph access groups, Prompt library, Agent selection, File upload, Skills, Data refresh.
TraceReview, led end to end
One screen that shows what an agent actually did. I scoped it with the agent owners, built it in React and Python, and shipped v1 in two weeks. For every run it lays out the agent's reasoning, the SQL it wrote, the results, and the charts.
- 1Read the question and pick the right table.
- 2Check which columns answer it.
- 3Write the query, run it, then chart the rows.
Run timeline
- ~60% less time spent debugging agents
- ~5 production incidents caught
- Started as a Newton-only tool. Now any team can use it: 2 teams do today, and RUSH is joining
- Helped migrate it onto AWS
Web releases
Releases move from dev, through UAT, to prod on a cycle, and a different group of people runs each one. I help with that.
CX Data & AI
15+ sources, one database. Automated ETL pipelines pull SharePoint, Google Analytics, and internal systems into a single database behind the team's React and Power BI dashboards.
- React
- Python
- Snowflake
- AWS
- Power BI
- SQL
- Microsoft Graph
- SharePoint
- Google Analytics
Live on the iOS App Store. April 2026 to now.
VisualBuild
A contractor types in an address. About thirty seconds later they are showing the homeowner their own house with the renovation already on it.



- 01Address in. No photo upload. The contractor enters a street address.
- 02Three angles. The pipeline pulls three views from the Google Street View API.
- 03Auto-clean. Wires, cars, and neighbouring houses come out of the shot.
- 04Render. The renovation is rendered in about 30 seconds, across 21 material categories.
- Row-Level Security and shared JWT auth across web and iOS
- AI keys stay server-side
- A backup model has held 500+ renders near 100% success through provider outages
- 2 businesses onboarded in early access
- Next.js
- TypeScript
- Tailwind CSS
- Supabase
- React Native (Expo)
- Gemini API
- OpenAI API
- Stripe
Live for TMU students. June 2025 to now.
TMU Pulse
An academic planning platform for TMU students. GPA tracking, schedule building, course discovery, and degree planning in one place, with Rate My Professors built in.
- 500
- sign-ups
- 30,000+
- visits
- ~100
- visits a day
- 3,700+
- course records indexed

Course catalogue

Home

Schedule builder
A course catalogue that stays fast.
A Python and PostgreSQL pipeline scrapes, normalizes, and indexes 3,700+ course records across 100+ departments. Pages load in under a second.
- Scrape
- Normalize
- Index
- Sub-second loads
- GPA tracker
- Schedule builder
- Course discovery
- Degree planner
- Python
- Next.js
- TypeScript
- PostgreSQL
- Supabase
- React
- Tailwind CSS
Undergraduate Research Assistant, TMU. June 2026 to now.
Research with Prof. E. Harley
The lab edits genes and needs to know whether each edit actually worked. I built the pipeline that checks, straight from raw DNA-sequencing data.
Before
Checked by hand
Results were verified by manual inspection, batch by batch.
The pipeline
Four tools, one run
Python chaining fastp, SPAdes, BLAST, and minimap2 across 6 experimental batches. Assemblies validated at 99.8% accuracy.
What it found
The edit had silently failed
I traced an unintended copy elsewhere in the genome, and the lab redirected its next round of experiments.
- 01fastp Read cleanup
- 02SPAdes Assembly
- 03BLAST Sequence search
- 04minimap2 Alignment
1st place. Sanofi x Snowflake Hackathon 2026.
RepPal
Under Canada's CASL law, a rep gets one shot at asking a physician for consent. RepPal recommends which physicians to approach, and how.
The model
0.85 AUC
A consent-propensity model on Snowflake that scores about 300K physicians.
Illustrative ranking
Sales-rep view
- A physician
- Web-enrichment agent
- Personalized outreach strategy
Admin view
Snowflake Cortex chatbot
School and toolbox
B.S. Computer Science (Co-op), Toronto Metropolitan University
- Graduating
- May 2028
- Honours
- Dean's List 2023 to 2026
- Courses
- Data Structures and Algorithms, Object-Oriented Programming, Software Engineering, Operating Systems
- Certification
- AWS Certified Solutions Architect, Associate (SAA-C03). In progress, expected 2026.
Languages
- Python
- TypeScript
- JavaScript
- SQL
- C/C++
- Java
Frameworks
- React
- Next.js App Router
- React Native Expo
- Node.js
- FastAPI
- Tailwind CSS
- React Query
Backend and data
- PostgreSQL
- Supabase
- pgvector
- REST APIs
- ETL pipelines
Cloud and tools
- AWS
- Snowflake
- Docker
- CI/CD
- Git/GitHub
- Power BI
Say hello.
Recruiting, a project, or a question about anything here. Email is the fastest way to reach me.
nawaf.mahmood2005@gmail.com