# CV — Sanaz Yazdanjoo UX Engineer. I study how people use technology, uncover their needs and challenges, turn those findings into product decisions, build the interfaces that put those decisions into practice, and validate whether they work. ## Experience ### UX Engineer & Project Assistant — Institut für Berufsbildung und Sozialmanagement (IBS) (12/2024 – Present) - 13-step paper process, 4 return loops, 9 actors - 1,734 automated tests, CI-enforced requirement traceability - 25 problems documented, each evidence-graded - Mapped the as-is reimbursement process across 9 actor roles — 13 steps with 4 return loops — using UML swimlane activity diagrams, 5W1H problem framing and stakeholder mapping. Evidence base: more than a year administering the process as project assistant (collecting receipts, consolidating Excel sheets, calculating participants’ reimbursements), 2 expert interviews (project management, accounting), a working meeting with the administration team, and an open participant survey. - Clustered the findings into a problem register of 25 documented problems, each carrying an evidence grade — confirmed, indicative, hypothesis, untested — and derived numbered FR/NFR requirements, a role-based sitemap and seven provenance-labelled personas from it. The survey was designed to falsify my own assumptions: it reversed one of my priorities and added 6 problems I had not seen from the inside. - Built the replacement application single-handedly (React, TypeScript, Vite, Node.js/Fastify, SQLite, Vitest): five roles with scoped navigation and route guards across four role home screens, a role-keyed status transition table enforced in the repository layer, and a reimbursement amount that is not persisted — every screen that shows it calls the same pure domain package, with the calculation trace on screen. The only stored amount is the figure imported from the old spreadsheet, kept solely to flag a discrepancy. 1,734 automated tests, root and server suites, both run in CI. - Wired requirement traceability into the build: a CI test fails when a requirement or problem id cited in source has no row in the requirements register, so a citation can never quietly lose its source. The guard checks citation to row, not row to implementation, and the register says so. - Extracted the design system before the high-fidelity screens: the 9 lane colours of the research activity diagram became the application's role palette unchanged, so an actor in the research reads as the same actor in the app. A CI test fails the build when a colour token in the CSS token file and the Tailwind config drift apart. - Secured the Fastify (Node.js) backend with session authentication (argon2id), CSRF tokens on every mutating route, global and per-route rate limits, and default-deny access control in the repository layer. Login hashes against a placeholder for unknown accounts so response time cannot leak whether an address exists, and every request re-checks the credential version, so a password change ends other sessions immediately. - Designed the data handling for privacy: participant data lives in the local SQLite database and is mirrored only to the institute's own Nextcloud, event logging is pseudonymous, and cookies and authorization headers are redacted from server logs. A CI test scans the built bundle for any hostname outside an allowlist; another scans for real participant names. The one third-party request is an optional Google Maps embed for an address a staff member types. - Designed the summative usability evaluation and instrumented it into the application itself — guided tasks per role, a pseudonymous local event log, an end-of-session questionnaire. Dogfooding on development traffic caught three bugs in the measurement instruments themselves. Sessions with users are pending deployment for daily use. Project communication, interviews and the administration-team meeting all ran in German. ### UX Engineer / Researcher — Master's Thesis — Bauhaus-Universität Weimar (10/2025 – 05/2026) - N=30 within-subjects, 3×2×6, Latin-square - 60% preferred the gaze hybrid; mouse SUS 85.2 - Self-built TypeScript + Python gaze pipeline - Built the entire experimental platform independently — a TypeScript frontend with a Python backend on the Pupil Labs Neon eye tracker's real-time API — implementing MAGIC Pointing, a gaze-augmented Ninja Cursors variant, stimulus presentation and trial-level logging. - Ran a two-stage study: an exploratory pre-study (n=20 interviews, thematic analysis), then a controlled within-subjects experiment in a 3×2×6 design (n=30, Latin-square counterbalanced), comparing both gaze-assisted techniques against a mouse baseline on a physical dual-display workstation. - Analysed movement time, repeat rate and SUS in R (RM-ANOVA, Friedman). 60% of participants preferred the gaze-supported Ninja Cursors variant although the mouse scored highest on SUS (85.2) — predictability and user trust beat raw speed. - Concluded with a conditional design recommendation: gaze assistance should trigger only for large cross-screen relocations, not for every pointing movement. ### UX Researcher — University–Industry Research Project — deskbird × Bauhaus-Universität Weimar (10/2023 – 03/2024) - My concept won the client vote - 3 concepts → 1, evidence-decided - n=57 survey · n=6 contextual inquiry - Ran end-to-end user research in a six-person team for a B2B SaaS product in the hybrid-work sector: online survey (n=57), six 90-minute remote contextual inquiries, and stakeholder interviews. - Synthesised the findings into three competing concepts; the deskbird team voted and chose mine, delivered as a high-fidelity prototype with implementation recommendations for their upcoming sprints. ### Web Designer & Content Manager — Working Student — Bauhaus-Universität Weimar (04/2023 – 09/2023) - Accessibility-validated components - Corporate design compliance, TYPO3 - Developed responsive frontend components (HTML/CSS) and maintained dynamic content on the university's TYPO3 pages. - Checked components against the corporate design system and web accessibility standards. ### QA Engineer — Working Student — TDSoftware (04/2022 – 06/2022) - Cross-functional defect triage pre-release - Heuristic evaluation + REST validation - Acceptance testing and heuristic evaluations with the frontend development team, prioritising and resolving bugs prior to release. - Validated REST endpoints and backend interfaces with Postman. ### Usability & QA Engineer — Part Software Group (07/2020 – 07/2021) - Co-established the company's first manual-testing group - Trained 4 QA members - Heuristic evaluation across 5+ products - Helped set up the first structured pre-release testing group at the 500+ employee software group, trained its 4 QA members, and introduced TestLink for test-case management. - Ran acceptance testing and structured heuristic evaluations across 5+ web and mobile products — checking UI against standards and validating APIs with Postman, catching usability problems before release rather than after. ### UI Developer / R&D Developer (started as Intern) — Mega-Tech (09/2015 – 07/2020) - 10+ WordPress & WooCommerce sites shipped - SEO & performance optimisation across client sites - Cross-browser & cross-device QA - Delivered 10+ WordPress and WooCommerce websites (corporate, e-commerce, portfolio), including cross-browser and cross-device optimisation. - SEO and performance optimisation was a standing part of the delivery brief: getting client sites onto page 1 of Google for their target keywords. The agency's own site ranked there. - Moved from WordPress UI development into R&D work — nopCommerce e-commerce builds and Unity projects, clarifying requirements directly with clients. ### QA Engineer — Internship via Mega-Tech (remote) — Black Citrus (06/2015 – 09/2015) - First industry role, straight after the B.E. - Remote QA for an Australian team - Manually tested the web application projects of Black Citrus, an Australian company, working remotely — placed there as an intern through Mega-Tech directly after finishing the bachelor thesis. ## Education ### M.Sc. Human-Computer Interaction — Bauhaus-Universität Weimar (10/2021 – 05/2026) Final grade: 1.7 · Thesis: 1.5 · 120 ECTS - Thesis: Gaze-Assisted Input in Dual-Display Environments — A Comparative Evaluation of MAGIC Pointing, Ninja Cursors, and a Mouse Baseline ### B.E. Software Engineering — Khayyam Higher Education Centre (10/2010 – 06/2015) ## Skills - **Usability Engineering & Evaluation:** Formative & Summative Usability Testing, Heuristic Evaluation, Prototype & Hardware/Software Evaluation, Usability Metrics (SUS, task success, error rate, time on task), Requirements Engineering, Requirements Traceability (FR/NFR), Web Accessibility (WCAG 2.1 AA) - **UX Research Methods:** Mixed-Methods Research, Controlled Experiments, Eye-Tracking (Pupil Labs Neon), Contextual Inquiry, Stakeholder & Expert Interviews, B2B User Research, Survey Design, Thematic Analysis, Affinity Diagramming, Persona Development, Process Mapping (UML Swimlanes, 5W1H), Repeated-Measures ANOVA in R - **Quality Assurance:** Acceptance Testing, Test-Case Management (TestLink), Unit & Integration Testing (Vitest), REST API Validation (Postman) - **Frontend:** JavaScript (ES6+), TypeScript, React, HTML, CSS, Tailwind CSS, Vite, Design Systems, Figma, WordPress, WooCommerce, nopCommerce, E-Commerce - **Backend & Tools:** Node.js (Fastify), Python, SQLite, REST APIs, Real-Time Device APIs (Pupil Labs Neon), OpenAI API, Authentication & Security (argon2id, CSRF), Git & GitHub, Vercel, Unity, Physical Prototyping (inflatables, Arduino, pneumatic actuators, capacitive sensors), AI-assisted development (Claude Code, GitHub Copilot) ## Certifications & Workshops - **M.Sc. Human-Computer Interaction** — Bauhaus-Universität Weimar, Faculty of Media (2026). Graduated 12 May 2026. Final grade 1.7, 120 ECTS, Faculty of Media. Thesis: Gaze-Assisted Input in Dual-Display Environments — A Comparative Evaluation of MAGIC Pointing, Ninja Cursors, and a Mouse Baseline (1.5, 24 ECTS), defence 1.5 (6 ECTS). Strongest module: HCI Specialisation — Physiological Computing: Determination and Manipulation of User Characteristics (1.0). Two graded research projects: Research Project I — Inflatables for Data Physicalization and Tangible Interaction (1.6, 18 ECTS), and Research Project II — User-Centered Design in Practice: Designing a Digital Product to Encourage Social Interactions in Hybrid Workplaces (1.3, 12 ECTS). - **DSH-2 (German Language Proficiency for University Admission)** — Sprachenzentrum, Bauhaus-Universität Weimar (2026). Examined 16 February 2026, while writing the Master's thesis. DSH-2 certifies differentiated written and spoken ability and grants unrestricted admission to every degree programme at any German university. Reached from A2 through one institution's own course sequence at the Sprachenzentrum: A2 (2021/22), B1 (2024), B2 intensive (2025), then DSH preparation. - **German B2 — Intensive Course** — Sprachenzentrum, Bauhaus-Universität Weimar (2025). Intensive course, 1 October 2024 to 12 February 2025, closing with an examination equivalent in form and standard to the Goethe-Zertifikat B2. Passing it is the prerequisite for the Sprachenzentrum's DSH preparation course. - **German B1 — Grundstufe** — Sprachenzentrum, Bauhaus-Universität Weimar (2024). Around 300 contact hours, 2 April to 10 July 2024, closing with an examination equivalent to the Zertifikat Deutsch als Fremdsprache at CEFR level B1. Result: gut. - **Figma 101 Workshop** — Human-Computer Interaction Group, Bauhaus-Universität Weimar (2025). Auto Layout, wireframe libraries, design systems and prototyping — three assignments, concluding in a mini portfolio. - **Designing for Human: Design Thinking & Behaviour Science to Solve Any Problem** — Bauhaus-Universität Weimar (2024). Graded university module, summer semester 2024 (1.1, 3 ECTS): design thinking combined with behavioural science as a problem-solving method. - **Designing Accessible Components in Figma** — LinkedIn Learning (2024). Building components that stay usable with assistive technology — contrast, focus order, and annotation conventions inside Figma. - **20 Rules for Visual Communication** — LinkedIn Learning (2024). Composition, hierarchy, type and colour rules for making a message legible at a glance. - **Design Thinking: Understanding the Process** — LinkedIn Learning (2024). The full double-diamond loop — empathise, define, ideate, prototype, test — and where each phase pays off in product work. - **Figma Essential Training: The Basics** — LinkedIn Learning (2024). Frames, components, styles and shared libraries — the working vocabulary behind every file I hand to developers. - **UX Deep Dive: Usability Testing** — LinkedIn Learning (2024). Planning a test, writing non-leading tasks, moderating, and turning observations into prioritised findings. - **UX Design 7: Implementation Planning** — LinkedIn Learning (2024). Handing a design over: scoping, sequencing and documenting what engineering actually needs to build it. - **UX for Web Forms** — LinkedIn Learning (2024). Field design, inline validation, error recovery and accessible labelling for the forms that carry most conversions. - **UX Design 1: Overview** — LinkedIn Learning (2024). How the phases of a UX process fit together, and which deliverable belongs to which phase. - **UX Design 2: Analyzing User Data** — LinkedIn Learning (2024). Turning raw research data into patterns — affinity mapping, segmentation, and reading quantitative signals honestly. - **XML Essential Training** — LinkedIn Learning (2024). Document structure, DTDs and schemas, namespaces, XPath and XSLT transformations. - **Using AI in the UX Design Process** — LinkedIn Learning (2024). Where generative AI genuinely speeds up research synthesis, ideation and content drafting — and where it quietly misleads. - **A Design Thinking Approach to Putting the Customer First** — LinkedIn Learning (2024). Keeping the customer's problem — not the team's assumptions — at the centre of a design decision. - **UX Design 3: Creating Personas** — LinkedIn Learning (2024). Building personas from evidence rather than invention, and keeping them usable once the project moves on. - **UX Design 5: Creating Scenarios and Storyboards** — LinkedIn Learning (2024). Narrating a user's context as a scenario, then drawing it out as a storyboard the whole team can argue with. - **Agile User Experience Design and Research** — LinkedIn Learning (2024). Fitting research and design into sprint cadence — continuous discovery, lean deliverables, and testing one sprint ahead. - **Using Style Guides to Bridge Design and Development** — LinkedIn Learning (2024). Style guides and design systems as the shared contract between a design file and the components that ship. - **Student Volunteer — Mensch und Computer 2022** — Gesellschaft für Informatik (GI e.V.) · ACM In-Cooperation (2022). Session and workshop support at Europe's largest HCI conference series (~600 participants), hosted by TU Darmstadt. - **Student Volunteer — Joint Conference on Serious Games 2022** — JCSG 2022, Bauhaus-Universität Weimar (2022). Venue setup, guest welcome and speaker support across the two conference days, 22–23 September 2022 in Weimar. - **Frontend Development** — Part College (2021). Frontend development course offered through Part College, completed with certificate while working at Part Software Group. - **Python Programming** — Technical & Vocational Training Organization (2019). Certified training in Python programming.