Back to projects
PersonalOct 2026
Portal Pacjenta Plus: Doctor Ratings in the LuxMed Portal
A Chrome extension that shows ZnanyLekarz ratings next to doctors in the LuxMed patient portal, adds booked visits to Google Calendar or Outlook, and opens directions to the clinic.
Context: Personal project, built for my own use and published on the Chrome Web Store
Problem
When booking a visit in the LuxMed patient portal, you pick a doctor from a list of names with no reviews. The reviews exist on ZnanyLekarz.pl, so comparing doctors meant searching for each one by hand in another tab. After booking, the visit also had to be typed into a calendar manually.
Approach
- Ratings in place. A
MutationObserverwatches the portal (a single-page app) for doctor listings. For each doctor, the extension queries ZnanyLekarz's public search index and injects the star rating and review count next to the name, linking to the full profile. - Fuzzy matching. Names are matched after stripping Polish medical titles (
dr hab. n. med.,lek., …), folding diacritics (Łukasz = Lukasz) and splitting double-barrelled surnames, then scored together with the specialty so the right doctor is picked. - Add to calendar. A script in the page's own context reads the portal's booking request, so after you book, a card offers Google Calendar, Outlook or an
.icsfile. Times are pinned to Europe/Warsaw, so they stay correct across daylight-saving changes and in any timezone. - Directions. The clinic map gets driving, walking, transit and cycling buttons that open Google Maps with the clinic's exact coordinates.
- Privacy first. Everything runs in the browser. There is no server and nothing is collected; the only outside request is the public rating lookup, which can be turned off in the popup.
Impact
- Compare doctors without leaving the booking page. Ratings and review counts appear next to every doctor, so choosing one no longer means searching each name in another tab.
- One click from booking to calendar. A booked visit goes to Google Calendar, Outlook or any
.icscalendar, with the right time and clinic. - Published on the Chrome Web Store, with no account, no server and only the
storagepermission, so anyone can install it without giving up their data. - Built to keep working: 44 unit tests on matching, calendar and booking logic, with CI and automated release builds.
Stack
JavaScript · Chrome Extensions (Manifest V3) · esbuild · Node test runner · ESLint · GitHub Actions