Sanya Upadhyay

Data Scientist
3years in AI/ML
6/10Accessibility & Semantics
5years in tech
2years leading teams

Overview

Data-focused engineer with experience delivering Python-based data products and machine-learning workflows using SQL and Azure Databricks. Built and operationalized a Random Forest classifier, implemented LLM-based extraction pipelines with privacy-aware data handling, and created analytical dashboards for research and operational decision-making. Also has prior MATLAB/Simulink development experience for collision-risk algorithms.
Phone

Timeline

Data Engineer · Middle
Civic Health Innovation Labs, University of Liverpool · Full-Time
Apr 2025 to Present 1 Year 7 Months Liverpool In office
Developed and tested Python and PySpark data products on Azure Databricks, orchestrated via Azure Data Factory and supported by automated tests and Git-based collaboration. Deployed a Random Forest model into a production Python workflow and improved model quality by analyzing cross-validation metrics and prediction errors. Built a vacancy-analysis pipeline combining deterministic parsing, locally hosted LLM extraction, and classification to select reliable extraction methods. Prepared linked clinical and survey datasets for longitudinal research, supported responsible data handling, and contributed to an ecosystem spanning a React Native patient app, a Next.js clinician portal, a .NET API, and cloud storage.
Python
SQL
pySpark
Scikit-learn
Azure
Azure Data Factory
Delta Lake
NumPy
LLM
Ollama
Pytest
Git
GitHub
Docker
React Native
Next.js
.NET
KTP Associate – Data Engineer · Middle
WMG, University of Warwick / Gordon Ellis · Full-Time
Mar 2024 to Apr 2025 1 Year 1 Month In office
Delivered an Innovate UK-funded digital transformation project by coordinating academic, business, and engineering stakeholders and managing technical milestones and risks. Built Python ETL pipelines and designed a normalized SQL database to integrate energy sensor data with different sampling intervals. Applied regression-based baselines and anomaly detection to identify inefficiencies and out-of-hours consumption patterns. Created Dash/Plotly dashboards to translate analysis into operational decisions and improve data availability through failure diagnosis.
Python
SQL
Plotly
Anomaly Detection
University of Liverpool
Master's Degree · Data Science & Artificial Intelligence
2022–2023 Liverpool, England
Software Developer · Middle
Tata Consultancy Services (TCS) – Ford Germany · Full-Time
Jan 2021 to Sep 2022 1 Year 8 Months In office
Developed and validated collision-risk algorithms using MATLAB and Simulink, working with radar/LiDAR inputs and time-to-collision logic. Implemented numerical modeling and sensor-data filtering, then performed scenario-based testing and debugging to improve algorithm reliability. Automated recurring engineering tasks using a MATLAB App Designer tool, reducing repetitive effort for the development workflow.
MATLAB
Simulink
App Designer
Pune University
Bachelor's Degree · Electronics & Telecommunication Engineering
2016–2020 Pune, Maharashtra

Technical skills

Languages
5
MATLAB
Python
SQL
JavaScript
C#
AI/ML
10
PyTorch
TensorFlow
LLM
NumPy
Scikit-learn
Jupyter Notebook
Ollama
Reinforcement Learning
Pandas
Spark
DevOps
4
Azure
GitHub
Docker
Git
Other
21
Expo
Simulink
App Designer
Plotly
Next.js
React Native
Delta Lake
Pytest
.NET
pySpark
Azure Data Factory
React.js
Databricks
Anomaly Detection
Machine Learning
AI Agents
Frontend
Agentic Workflows
Post-training
ETL/ELT
Synthetic Data
Middle Frontend Developer Confidence: Medium UI Engineer
Middle-level UI engineer focused on accessible, multilingual front-end interfaces with an emphasis on audio-first interactions. The strongest proven skill is robust client-side integration of text-to-speech and localization, demonstrated by app.js features such as speechRun-based race handling, AbortController-backed server TTS cancellation, speechChunks splitting, and translateLooseText translation logic. There is little to no public evidence of test coverage, build/tooling automation, large-scale architecture or production-grade backend services beyond a simple server TTS endpoint.
UI Component Architecture
3/10
How interface parts are built
Modular vanilla-JS functions and a small reusable floating audio control show deliberate separation of concerns, but there is no component framework, design-system abstraction, or clear component API surface that would indicate higher-level component architecture work.
Evidence
app.js: getVoicesReady / chooseVoice / speechChunks / speak - modular function boundaries
index.html: floating-audio controls wired to speak/pauseSpeak/stopSpeak (reusable UI block)
app.js: document.querySelectorAll('.show').forEach(b=>b.onclick=...) - small UI behavior composability
Responsive & Cross-browser
4/10
Works on all screens and browsers
Practical cross-browser and localization concerns are handled explicitly (viewport meta, RTL toggling, speech API feature detection), but there is limited use of advanced responsive strategies like container queries or fluid typography.
Evidence
app.js: applyLang sets document.documentElement.dir and toggles .rtl class for RTL locales
index.html: meta viewport for responsive layout and language select with aria-label
app.js: feature detection for 'speechSynthesis' and voiceschanged handling
Performance Optimization
5/10
Speed of the interface
Meaningful performance-minded code is present for the specific problem space: chunking long text to avoid TTS failures, timeout-based voice loading, and revoking object URLs to prevent leaks. There is no repository-level instrumentation, bundle splitting, or measured before/after analysis.
Evidence
app.js: speechChunks(text,max=180) - splits long text into safe TTS chunks
app.js: getVoicesReady(timeout=1800) - voiceschanged event plus timeout fallback
app.js: stopSpeak revokes cloudAudioUrl (URL.revokeObjectURL) to avoid resource leaks
Accessibility & Semantics
6/10
Usable for everyone
Good accessibility attention for an HTML/JS prototype: ARIA role=status live updates, labeled controls, form validation/reportValidity, visible-language and RTL support. Some advanced a11y patterns (keyboard focus management for custom widgets) are minimal but present patterns are correct and pragmatic.
Evidence
app.js: speechStatus creates element with role='status' and updates live messages
index.html: language <select> has aria-label and floating-audio container has aria-label
activities.html: form.demo-form uses required fields and f.reportValidity() with a visible success UI
State Management & Data Flow
5/10
Managing data in the app
Concrete async state discipline is implemented: cancellation with AbortController for server TTS, speechRun counter to avoid race conditions between overlapping speak requests, and clean stop/pause logic; this shows practical experience with client-side async flows though not a full state-machine or formal client cache strategy.
Evidence
app.js: speak/cloudAbort + AbortController to cancel in-flight /api/tts fetch requests
app.js: speechRun counter used to ignore stale async results and stop in-progress browser speech
app.js: translatedPageText() builds a bounded text payload (slice(0,5000)) for server requests
UX & Visual Polish
5/10
Look and feel quality
UX details are well considered for the product: visible status messages, fallback notifications when voices are missing, playback-rate control, form success states and localized 'show more' toggles. Visual polish is prototype-level and not backed by animation standards or complex micro-interaction system.
Evidence
app.js: speechStatus messages and localized fallback notices when no installed voice is found
index.html: floating controls include playback speed select and pause/resume behavior
index.html & pages: 'Show More' toggles wired to simple expand/collapse behavior in app.js
Expertise
Frontend AI Integration· Middle
HTML & CSS· Middle
Industries
Health Care· Middle
Technologies
Frontend
Next.js· since 2025
Azure· since 2025
React.js
Recommendations
  • Build accessible, multilingual public-facing web interfaces that require robust client-side audio and TTS workflows.
  • Implement prototypes integrating cloud neural TTS (Azure) with client-side cancellation, fallback and localized UX.
  • Improve developer impact by adding automated tests (unit + integration), CI, and a minimal build/tooling pipeline.
  • Work on audio-first web experiences and accessible content-savvy components for community or nonprofit sites.
Repositories
The developer's experience in this domain has been verified based on AI analysis of the following repositories:

Job preferences

Work permits
China, India, United Kingdom
Citizenship
India
Salary
from $70k per year
Employment type
Full-Time
Locations
Manchester, London
Open to AI agents: they read this profile and start a dialog through Alionalion.io/@sanya-upadhyay/mcp
Alion · People, companies and AI agents in one graphalion.io/@sanya-upadhyay