Bachelor's Thesis

Personalized Cosmetic Product Rating App

Final Thesis 8.55 MB

Author of thesis: Markéta Mikulicová

Acad. year: 2025/2026

Supervisor: doc. Ing. Vítězslav Beran, Ph.D.

Reviewer: Ing. Zdeněk Materna, Ph.D.

Abstract:

This bachelor’s thesis presents the design and implementation of a web application for personalized
cosmetic product recommendation with an emphasis on user-friendly design. The system models users and products using comparable attribute structures encompassing skin type, skin concerns, skincare goals, and allergens. The recommendation logic combines a content-based approach using the Jaccard similarity coefficient with a hybrid component that incorporates user ratings. A hard allergen filter ensures that products containing flagged ingredients are excluded from recommendations. The application is implemented as a web application with a Python and FastAPI backend and a React frontend, communicating via RESTful APIs. The system was evaluated through moderated usability testing with five participants. An average SUS score of approximately 83 confirms high usability, and an average Likert-scale rating of approximately 4.25 out of 5 indicates positive perception of recommendation quality.

Keywords:

recommendation system, cosmetics, web application, user experience, Jaccard similarity, hybrid recommendation, personalization, usability

Date of defence

15.06.2026

Result of the defence

Defended (thesis was successfully defended)

znamkaBznamka

Grading

B

Process of defence

Studentka nejprve prezentovala výsledky, kterých dosáhla v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Studentka následně odpověděla na otázky oponenta. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studentky na položené otázky rozhodla práci hodnotit stupněm B.

Topics for thesis defence

  1. Jaký zamýšlený či hypotetický provozní model systému předpokládáte: komunitní katalog, samostatnou platformu, nebo napojení na e-shop/prodejce, a odkud by v takovém modelu pocházela strukturovaná data o produktech?
  2. Kde podle vás leží hranice mezi filtrováním produktů a doporučovacím systémem ve vašem řešení a jakým dalším způsobem byste vedle UX testu ověřila kvalitu doporučování?
  3. Jak byste upravila doporučovací logiku, aby vedle deterministického seřazení podporovala také objevování nových produktů a současně zachovala tvrdé uživatelské podmínky, například alergeny?

Language of thesis

English

Faculty

Department

Study programme

Information Technology (BIT)

Composition of Committee

doc. Dr. Ing. Dušan Kolář (předseda)
doc. Dr. Ing. Otto Fučík (místopředseda)
RNDr. Marek Rychlý, Ph.D. (člen)
Ing. František Grézl, Ph.D. (člen)
Ing. Tomáš Goldmann, Ph.D. (člen)

Markéta Mikulicová dedicated herself to the project conscientiously and strictly followed the steps agreed upon during consultations. Although defining the project's specific boundaries was initially challenging, she successfully proposed solid partial solutions and overcame the technical obstacles encountered during implementation. She demonstrated her ability to work independently and delivered a fully functional solution.

Evaluation criteria Verbal classification
Informace k zadání

The bachelor's thesis focuses on the user-centred GUI design process and the implementation of information systems using web technologies. Based on an original topic proposed by the student, the project was later extended to include basic product recommendation procedures. The system focuses on key aspects of evaluating and choosing cosmetic products. The student successfully completed the assignment, building a functional system that demonstrates the fulfilment of the goals. The project is self-contained and does not build on previous work.

Práce s literaturou

The student drew on an extensive list of relevant academic and technical resources regarding GUI design, web development, and recommendation systems. She effectively utilised several essential professional materials, while online sources and documentation are appropriately cited and listed separately in the text.

Aktivita během řešení, konzultace, komunikace

Markéta Mikulicová was active and regularly attended consultations. In the initial phases, the topic was approached very broadly, and it took some time to specify the exact professional sub-tasks to be solved. Gradually, however, the student moved from general and broad ideas to concrete goals and individual elements of her work, both from a conceptual and technical perspective, shifting her focus towards specific tasks with higher added value.

Aktivita při dokončování

The work on user research, recommendation algorithms, and GUI development progressed continuously and according to the agreed steps. The thesis was completed with sufficient lead time before the deadline. The final content and evaluation experiments were properly consulted, and the supervisor's recommendations were incorporated.

Publikační činnost, ocenění
Points proposed by supervisor: 90

Grade proposed by supervisor: A

Reviewer’s report
Ing. Zdeněk Materna, Ph.D.

Celkově mám z práce dobrý dojem. Studentka zpracovala pečlivý a doménově ukotvený prototyp s netriviální doporučovací logikou a rozumným uživatelským ověřením. Výhrady se týkají především chybějícího rozboru konkrétních existujících řešení, přesnějšího vymezení zamýšleného či hypotetického provozního modelu a zdrojové opory některých tvrzení; jde však o dílčí nedostatky, které nezpochybňují splnění zadání. Práci proto hodnotím známkou B.

Evaluation criteria Verbal classification Points
Náročnost zadání

Evaluation level: průměrně obtížné zadání

Zvolené řešení kombinuje standardní webové technologie s doménovým modelem a vlastní doporučovací logikou, což je smysluplné a přiměřeně náročné.

Prezentační úroveň technické zprávy

Text je celkově srozumitelně členěný a technické jádro je vysvětleno na úrovni návrhu, algoritmu i implementace. Oceňuji doménové ukotvení a popis limitů řešení. Práci by prospělo explicitní vymezení rozdílu mezi doporučováním a běžným filtrováním hned v úvodních částech a samostatné porovnání s konkrétními existujícími řešeními.

84
Formální úprava technické zprávy

Formální úroveň je použitelná a text je čitelný. Drobnější rezervy vidím hlavně ve finální sazbě a grafické prezentaci: některé obrázky jsou malé nebo méně ostré, místy se objevují nadpisy bez navazujícího úvodního odstavce a v anglickém textu se opakovaně objevuje nevhodně vysázená forma uvozovek.

76
Realizační výstup

Realizační výstup hodnotím jako silnou část práce. Prototyp má reálný rozsah, rozumně strukturovaný backend i frontend, doménový model, uživatelský profil, katalog produktů, recenze a doporučovací logiku. K dalšímu dotažení zůstávají zejména některé návaznosti v práci s uživatelským profilem a hraniční chování doporučování, ale z popisu i dostupných artefaktů jde o pečlivě provedený prototyp.

86
Využitelnost výsledků

Výsledek je využitelný jako prototyp a uživatelské ověření přináší pozitivní signály o použitelnosti a vnímané relevanci doporučení. Tento typ kvalitativního UX ověření považuji pro daný rozsah práce za legitimní; případné širší ověření samotné doporučovací logiky by bylo přirozeným navazujícím krokem, nikoli zásadní podmínkou splnění práce.

Rozsah splnění požadavků zadání

Evaluation level: zadání splněno s drobnými výhradami

Práce obsahuje realizovaný webový prototyp, návrh GUI, datový model, autorkou připravený dataset i ověření použitelnosti. Slabší je chybějící rozbor konkrétních existujících řešení; práci by také prospělo alespoň rámcové vymezení zamýšleného či hypotetického provozního modelu systému, zejména odkud by v širším nasazení pocházela strukturovaná produktová data.

Rozsah technické zprávy

Evaluation level: je v obvyklém rozmezí

Technická zpráva je rozsahem v obvyklém rozmezí a pokrývá teorii, návrh, implementaci, testování i závěr. Struktura práce je pro oponenta dobře sledovatelná a hlavní části potřebné pro posouzení řešení jsou přítomné.

Práce s literaturou

Literatura pokrývá relevantní oblasti doporučovacích systémů, uživatelsky orientovaného návrhu, UX i kosmetické domény. Práce se zdroji je celkově použitelná, ale u některých obecných motivačních tvrzení, existujících řešení a metodických formulací by měla být opora přesnější a citační hygiena čistší.

78
Topics for thesis defence:
  1. Jaký zamýšlený či hypotetický provozní model systému předpokládáte: komunitní katalog, samostatnou platformu, nebo napojení na e-shop/prodejce, a odkud by v takovém modelu pocházela strukturovaná data o produktech?
  2. Kde podle vás leží hranice mezi filtrováním produktů a doporučovacím systémem ve vašem řešení a jakým dalším způsobem byste vedle UX testu ověřila kvalitu doporučování?
  3. Jak byste upravila doporučovací logiku, aby vedle deterministického seřazení podporovala také objevování nových produktů a současně zachovala tvrdé uživatelské podmínky, například alergeny?
Points proposed by reviewer: 82

Grade proposed by reviewer: B

Responsibility: Mgr. et Mgr. Hana Odstrčilová