Tiara is application that enables smart search and comparison of fields of study in semantic way using filters and prompts.
The application contains a standardised list of the fields of study available at Polish public universities, enriched with information such as average earnings after graduation or position in the Perspektywy ranking. In addition, each field of study has a special record in the database, where all information about it found during the research phase is encoded. This record is interpreted by a language model, which is able to select a list of majors based on the prompt, allowing searches or comparisons to be made through a verbal description of the field of study.
It was originally developed on HackYeah 2024 hackathon by:
- Paulina Kowalska - design
- Konrad Walas - app development
- Paweł Zaręba - app development
- Konrad Krzemiński - app development
- Mateusz Górczany - machine learning
- Piotr Pichór - machine learning
- Search and filter fields of study by range of predefined values
- Search fields of study by natural language
- Recommend best fields of study based on qualifications and preferences
- Compare fields of study
Application is written in React Native. The application communicates with an REST API written in Express (node.js), that handles the connection to the PostgreSQL database and a separate service that is an interface for communicating with the AI model. The service is written using the FastAPI and Pytorch was used for machine learning.
Folder ml contains code responsible for machine learning as well as FastAPI microservice. Folder app contains three subfolders:
backend- code for backend serviceTiaraMobileApp- code for mobile appcommon- shared code (like interfaces and types)
Add dependencies can be managed through devbox. Development environment can be automatically loaded upon entering directory with direnv. Server components are dockerized and can be started using docker compose up in root of project.
For local development there are additional steps needed to develop application listed below.
- Copy file
app/TiaraMobileApp/.env.exampleand name itapp/TiaraMobileApp/.env. Change values if needed.
- Copy
app/backend/.env.exampleasapp/backend/.env. Change values as needed. - Run cd to
app/backendand runnode generateKeyPair.js.
