// experience
Experience
Engineering work, independent projects, and research.
ComicSeen — Software Engineer & Team Lead
- Led the engineering team on a client-owned production codebase, owning sprint planning, task assignment, and client communication with industry mentor Justin Greenberg.
- Refactored the notification system from tightly-coupled inline email calls into an event-driven architecture using Spring ApplicationEvents and
@TransactionalEventListener(AFTER_COMMIT), so a rolled-back transaction can never notify a user about something that did not happen. - Moved email delivery off the request thread with
@Asyncon a dedicated pool, so a third-party provider outage no longer fails a user signup. - Found and fixed a latent production bug: a notification type defined in the enum, handled in the email service, and stored as a user preference, but triggered nowhere in the codebase.
- Coordinated moderated usability sessions with four testers and assembled the testing and evaluation report.
Tayseer — Retrieval-Augmented Q&A System
- Working on a question-answering system grounded in an authenticated corpus of primary texts, so answers derive from retrieved source material rather than a model's pretraining.
- Building the pipeline in Python: source ingestion, preprocessing, chunking, embedding, and semantic retrieval over the curated corpus.
- Designing a prompt layer that constrains every answer to its retrieved passages, so the system can return nothing rather than a fluent guess.
AI Diagnostic Tools and Patient Trust — Research
- Led a research team studying whether transparency and explainability in AI diagnostic tools improve patient acceptance and trust.
- Designed the study across three user groups — clinicians, software engineers, and non-technical users — and personally conducted nine of the fourteen interviews.
- Found that explanation alone did not produce trust in any group: participants wanted AI output paired with human verification before acting on it.
Selected coursework projects
- Prescription Database Web Application (CST 363) — led schema design, SQL trigger logic, and validation strategy, then coordinated development across all contributors. Normalized MySQL schema with refill-limit enforcement and full CRUD. Details →
- Restaurant Review Android Application (CST 338) — owned the restaurant module end to end: entities, DAOs, repositories, UI, and unit tests, on a team using GitHub issues and pull-request review. Details →
- Full-stack web applications (CST 336) — two data-driven applications built with HTML, CSS, JavaScript, and PHP. Details →