Skip to content
View wujciak's full-sized avatar

Block or report wujciak

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
wujciak/README.md

Hi, I'm Jakub Wójciak

LinkedIn

ML Engineer based in Olsztyn, Poland, working remotely (open to relocating to Wrocław or Łódź). I train models, check that their evaluation holds up, and build the backend that serves them. Most of my work is in medical data and speech.

  • ML Engineer at EENGINE Software House. Speech recognition for call-center audio: fine-tuned Whisper for Polish (WER from 16% to 12%) and NeMo FastConformer for Romanian (WER from 30% to 17%), plus LLM-based extraction from call transcripts.
  • Backend developer at Oncosort (finalist of Our Future Founders). Spring Cloud microservices for a medical data platform.
  • MSc Computer Engineering (2026) and BEng Biomedical Engineering, medical informatics (2025), Wrocław University of Science and Technology.

Selected projects

Machine learning

  • medical-ood-detection. My master's thesis: label-free out-of-distribution detection from K-Means centroid distances on frozen ViT and ResNet-50 embeddings. It covers 80 configurations, each with 5-fold cross-validation and Friedman–Nemenyi tests. AUROC is 0.999 on far-OOD and 0.81 on near-OOD, and the CNN beats the ViT on near-OOD.
  • thyroid-ultrasound-vit. My engineering thesis, redone after I found data leakage in the original evaluation. A pretrained ViT-B/16 reaches 0.75 AUROC per patient on 157 held-out patients. It also includes shortcut tests, Grad-CAM and a FastAPI + React demo.
  • pcb-yolo. PCB defect detection with a Canny edge map fused into the input channels of YOLO11n, which raises mAP@0.5:0.95 on DeepPCB from 0.742 to 0.765. It is written up as an IEEE-format paper.
  • ecg-arrhythmia-classification. Heartbeat classification on MIT-BIH into the AAMI classes. The same CNN-LSTM scores 0.93 macro-F1 when beats are split at random, as in my first version, and 0.47 on unseen patients.

Software engineering

  • cvrp-metaheuristics. A genetic algorithm, simulated annealing and baselines for vehicle routing, in plain Java. The genetic algorithm gets within 4.7% of the optimum on the Augerat A-set.
  • library-management-system. A library web app with multilingual semantic search. A Spring Boot REST API (JWT, Liquibase, 26 Testcontainers tests) works with a small Python service that embeds book descriptions with sentence-transformers. Search puts the right book in the top 5 for 90% of test queries, against 38% for keyword search, and Polish queries find books described in English.

Tech stack

Machine learning

Python   PyTorch   TensorFlow   scikit-learn   NumPy   pandas

Backend

Java   Spring Boot   FastAPI   PostgreSQL   MySQL   Docker   Linux

Frontend

TypeScript   React   Next.js

Pinned Loading

  1. medical-ood-detection medical-ood-detection Public

    Label-free out-of-distribution detection on frozen ViT and ResNet embeddings using K-Means centroid distances, benchmarked on MedMNIST.

    Python

  2. thyroid-ultrasound-vit thyroid-ultrasound-vit Public

    Thyroid nodule classification from ultrasound: Vision Transformers vs CNNs with patient-level evaluation, shortcut checks and a FastAPI + React demo.

    Python

  3. pcb-yolo pcb-yolo Public

    PCB defect detection on DeepPCB with YOLO11n and a Canny edge map fused into the input channels.

    Python

  4. ecg-arrhythmia-classification ecg-arrhythmia-classification Public

    Heartbeat classification on MIT-BIH (AAMI N/S/V/F) with LSTM and CNN-LSTM in Keras, evaluated on unseen patients (de Chazal DS1/DS2) against a leaky random-beat split.

    Python

  5. cvrp-metaheuristics cvrp-metaheuristics Public

    Metaheuristics for the Capacitated Vehicle Routing Problem in pure Java, benchmarked on the Augerat A-set.

    Java

  6. library-management-system library-management-system Public

    Library web app with multilingual semantic search: Spring Boot REST API, Python embedding service (sentence-transformers), MySQL, React. JWT, Testcontainers, Docker Compose, CI.

    Java