Přístupnostní navigace
E-application
Search Search Close
Bachelor's Thesis
Author of thesis: Aliaksandr Skuratovich
Acad. year: 2024/2025
Supervisor: Ing. Jiří Hynek, Ph.D.
Reviewer: Ing. Magdaléna Ondrušková
This thesis describes the development of a web application designed to simplify the management of CVs. The primary goal is to create a clear and user-friendly interface for storing, managing, and adapting CVs using large language models (LLMs). The work covers the entire development lifecycle, including requirement analysis, design, implementation, deployment, and testing. Special attention is given to integrating and evaluating LLM-driven features, including a comparison of prompt engineering and fine-tuning approaches. The application is implemented using React with Vite for the frontend, and NestJS, PostgreSQL, and MongoDB for the backend. The result is a practical tool that uses AI capabilities to efficiently handle and improve CVs.
web application, CV management, React, Vite, NestJS, PostgreSQL, MongoDB, UI/UX, LLM, fine-tuning, prompt engineering
Date of defence
16.06.2025
Result of the defence
Defended (thesis was successfully defended)
Grading
B
Process of defence
Student nejprve prezentoval výsledky, kterých dosáhl v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Student následně odpověděl na otázky oponenta. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studenta na položené otázky rozhodla práci hodnotit stupněm B.
Topics for thesis defence
Language of thesis
English
Faculty
Fakulta informačních technologií
Department
Department of Information Systems
Study programme
Information Technology (BIT)
Composition of Committee
doc. Dr. Ing. Dušan Kolář (předseda) Ing. Libor Polčák, Ph.D. (člen) doc. Dr. Ing. Otto Fučík (člen) Ing. František Grézl, Ph.D. (člen) Ing. Tomáš Goldmann, Ph.D. (člen)
Supervisor’s reportIng. Jiří Hynek, Ph.D.
Student vytvořil zajímavou webovou aplikaci, která by mohla najít obecné využití. Prostudoval řadu netriviálních technologií. Pozitivně hodnotím zejména přístup k praktické části, negativně pak přístup k psaní technické zprávy. Navrhuji hodnocení stupněm B.
Práce vznikla jako nápad studenta vytvořit webovou aplikaci pro tvorbu životopisů s využitím velkých jazykových modelů (LLM). Student se seznámil s problematikou prompt engineering a fine-tuning. Seznámil se s řadou technologií a vytvořil řešení založené na netriviální architektuře (TypeScript/React pro klientskou část, NestJS pro aplikační logiku na serveru, PostgreSQL pro relační uživatelská data, MongoDB pro ukládání strukturovaných životopisů). Mimo jiné využil služby AWS pro nasazení řešení nebo např. Docker a Nginx. Zadání hodnotím jako obtížné.
Student pracoval převážně s dostupnými online zdroji týkající se použitých nástrojů a problematiky LLM. Spoustu znalostí získával komunikací s různými lidmi na platformě Telegram.
Student byl aktivní během celého akademického roku. Účastnil se online konzultací nebo komunikoval přes Slack. Nevyžadoval mnoho podpory, nicméně projevoval zájem nad tématem hluboce přemýšlet a polemizovat. Student byl osobitý, diskuse se mnohdy uchylovala až k různým filozofickým tématům. Byť to bylo mnohdy vyčerpávající, tento přístup hodnotím pozitivně.
Technická zpráva byla dokončována na poslední chvíli, a nebylo ji tak možné dostatečně konzultovat. Student projevoval negativní postoj k psaní technické zprávy a soustředil se spíše na praktickou část práce.
Student své řešení uveřejnil na platformě Github.
Grade proposed by supervisor: B
Reviewer’s reportIng. Magdaléna Ondrušková
Študent splnil zadanie. Praktická časť aplikácie je na dobrej úrovni a reálne použiteľná. Hlavné nedostatky vidím najmä v technickej práce. Na základe využiteľnosti výsledkov hodnotím prácu stupňom B.
Evaluation level: obtížnější zadání
Cieľom študenta bolo vytvoriť aplikáciu, ktorá vytvorí personalizovaný životopis podľa zadanej ponuky práce. Študent sa zoznámil s problematikou tvorby CV, ako aj najčastejšie chyby, ktoré ľudia robia pri tvorbe životopisu ako aj využívaniu LLM pre tvorbu aplikácii. Študent si naštudoval potrebné technológie pre vytvorenie webovej aplikácie a aj jej nasadenie do reálneho provozu (Google OAuth, AWS services, Github Pages a pod). Zadanie hodnotím ako obtížnejšie.
Práca je rozumne členená na teoretickú a praktickú časť. V rámci teoretickej časti sa študent zameral na problematiku tvorenia CV, ako aj zhodnotenie aktuálnych nástrojov, ktoré pomáhajú užívateľom s vytvorením CV. Ďalej študent prezentuje problematiku tvorby webových aplikácií ako aj používanie LLM. Kapitola zameraná na LLM je stručná a mohla byť viac rozpísaná - najmä v kontexte tvorby životopisu pomocou LLM.
V praktickej časti študent predstavuje analýzu požiadaviek, kde ale chýba väčšia analýza potencionálnych užívateľov – nie je jasné, kto sú teda cieľoví užívatelia aplikácie (okrem autora práce). V kapitole Návrh študent miestami skôr hovorí o implementačných detailoch (napr. podkapitola 6.5.1) ako o návrhu. Študent sa tu často vyjadruje v minulom čase. Chýba tu napr. návrh užívateľského rozhrania.
Testovanie prebiehalo na malej skupine potencionálnych užívateľov, pričom sa študent zameral iba na technickejšie role. V texte sa často nachádzajú konštatovania, ktoré sa nehodia do BP: Despite the known benefits, testing is occasionally omitted in various projects.
Formálna úprava technickej správy je na slabšej úrovni. Práca obsahuje viacero chýb – medzery pred odkazom na poznámku pod čiarkou, alebo ich umiestnenie až za koncom vety (napr.: demand.5). V texte sa nachádza prázdne miesto na strane 46 ale kapitola na ďalšej strane pokračuje. Na konci textu je prázdna strana 66. Obrázok 7.1. obsahuje veľa bieleho miesta. Text miestami preteká (napr. strana 36). Niektoré odseky sú iba 1 veta. Miestami sú zle použité úvodzovky (napr. strana 59). Práca obsahuje preklepy.
Študent implementoval webovú aplikáciu pre tvorbu životopisu. Aplikácia je reálne nasadená a prístupna užívateľom. Študent prepojil rôzne technológie, čo viedlo k dobrému výsledku.
Aplikácie je využiteľná pre úpravu CV pre danú konkrétnu rolu a uľahčuje prispôsobovanie životopisu pre danú pozíciu. Aplikácia by mohla byť reálne použiteľná.
Evaluation level: zadání splněno
Evaluation level: je v obvyklém rozmezí
Práca obsahuje dostatočné množstvo zdrojov, ale väčšinu z nich tvoria internetové zdroje.
Grade proposed by reviewer: B
Responsibility: Mgr. et Mgr. Hana Odstrčilová