Quantum-optimized job routing pipeline
It started from a line in my notes: "Got an 11% match on a job posting I'm totally not qualified for: requesting 11–15 years of experience for an entry-level salary." Rather than keep burning application slots on broken listings, I built a pipeline to scrape, filter, and score postings against my actual resume. Then, mostly to learn how, I rebuilt the final ranking step on top of a real IBM Quantum backend.
Framing the shortlist as a QUBO
Once each job has a match score, choosing which handful to actually apply to is a constrained optimization problem: maximize total match quality, capped at 5 applications total and 5 per company (blasting 15 applications at one place gets you flagged, not hired). That's a natural fit for a Quadratic Unconstrained Binary Optimization problem, solved with QAOA on real IBM Quantum hardware.
Three bugs, three root causes
The pipeline ran silently for a while before it sent a single real email.
- The circuit never returned. QAOA's cost circuit doesn't auto-decompose into simulatable gates, so evaluation silently fell back to a full matrix exponential of the Hamiltonian. Fine under ~10 qubits, effectively infinite past it. Fix: decompose the circuit first → 0.02s per evaluation.
- The decode step read past the real variables. That first bug had been hiding a second: QUBO constraints add "slack" qubits, and the naive decode read into them as if they were job variables, crashing with an index error. Fix: decode only the true job-variable bits.
- Every job scored 0%. Once both were fixed, the run finished fast. And returned nothing. Across 8 qubits, per-category similarity multiplies, so unless a job hits nearly every skill category, the fidelity collapses toward zero ("exponential concentration"). Fix: take the 8th root of raw fidelity.
The manual side still turns up bugs
The whole point of this pipeline is to cut down on manual applications, but the ones that still require a human catch real problems too. Applying through what's almost certainly a Workday-based portal (built around one-at-a-time skill entry that drains a surprising amount of patience), I hit a certification dropdown returning mismatched, clipped results mid-search: a search-relevance bug and a text-overflow bug stacked on top of each other, both visible before I'd finished typing. Same instinct as debugging my own code: spot it, document it, write it up clearly enough that someone else could act on it.
RentWise
A trust layer for renters, built on top of noisy review data
Team of 5 · led weekly syncsArchitected a full-stack rental-review platform on React, Express.js, and a normalized SQLite schema, with automated email workflows, a renter-verification dashboard, and team-managed moderation.
Visit rent-wise.live ↗- Built a review-helpfulness regression model to score and surface high-quality reviews instead of just the newest ones.
- Feature-engineered a topic-frequency heatmap across a Google Reviews dataset, using an independent regression analysis to define RentWise's rating categories: safety, management, noise, rent-vs-quality, parking, and responsiveness.
- Tracked platform health through analytics dashboards while leading a 5-person team through weekly syncs, bug triage, and stakeholder communication.
Smaller projects, same habit of shipping
Boston BI job-market enrichment
A focused build on top of the job router: scrapes Data Analyst / BI roles from five no-auth APIs, fetches each hybrid/onsite Boston-area listing's full description with BeautifulSoup instead of trusting Adzuna's truncated snippet, then re-scores every posting against my actual resume text. Along the way, fixed a false-positive bug where the regex for the "R" language matched inside "or," "for," and "director"; replaced with a word-boundary match.
Review helpfulness analysis
A logistic regression classifier that labels apartment reviews as "helpful" from a composite score built on five features: word count, presence of photos, recency, whether the property manager responded, and rating extremity (1 or 5 stars). Trained on a large-scale Massachusetts Google Reviews dataset, skewed heavily toward 5-star ratings. Extreme ratings and manager responses turned out to be the strongest predictors, review length barely mattered. Later integrated into RentWise as a content-ranking layer.
Wiring IBM Bob into Slack over MCP
A screenshot-verified, step-by-step guide connecting the IBM Bob coding agent to Slack through the Model Context Protocol: a Slack app with correctly scoped bot token, an mcp.json entry running the community Slack MCP server, and a live smoke test where Bob posts to a channel entirely on its own.
Enterprise cloud integration proposal: Teams & Azure
A formal business report and executive memo proposing how a mid-size company would integrate Microsoft Teams with Azure: Azure AD access control and SSO, Logic Apps-based workflow automation, API management, and a feature comparison against Slack, built around a realistic company scenario and cited outside research. Not a hands-on build like the Bob/MCP guide above — a technical & business writing exercise in scoping and explaining an enterprise architecture decision to a non-technical exec audience.
Accent toolbar
A tkinter desktop utility that puts French accents, Hausa characters, and IPA phonetic symbols one click away: seven tabbed categories, hover tooltips explaining each symbol, and one-click clipboard copy for typing across multiple languages and phonetic transcription.
UX details I noticed in the wild
FC 27 Screen Freeze: A UX-Informed Bug Report
A bug report on brief screen freezes in the EA SPORTS FC 27 trial on PS5: 16 timestamped freezes across two recordings, clustered around possession changes and shots, with the cost to the player spelled out.
Icon Metamorphosis
A field note on a hover micro-interaction spotted on Microsoft Copilot's home page: a lightbulb icon that metamorphoses into an identity-card icon as you linger over it.
Product Manager Intern, Disent
- Collaborated with engineering and product to write user stories and use cases, tracked bugs, and translated requirements into design specs: faster engineer handoffs, smoother dev cycles.
- Diagnosed a React error causing client session failures; partnered with engineering to scope and validate the fix, improving operational stability by 60%.
- Led a campus-wide brand awareness campaign with Student Activities and the campus IT org, driving a 70% increase in new signups in one week.
- Designed the Disent poster in Canva using UI layout principles, lifting weekly active users 20% and earning recognition from C-suite leadership; it became the company's official poster.
Skills
Languages
Frameworks & libraries
Databases & cloud
AI & machine learning
Data & analytics
Practices & networking
University of Massachusetts Boston
B.S. Information Technology: Business Intelligence concentration
May 2026