Inspiration

The inspiration for Prosterio came from my experience working as a freelancer at an international IT agency. Our team consisted of about 40-50 members spread across different countries and time zones. A common challenge faced by project managers was finding the right developer for each project. Even though the agency had a database with CVs of all team members, project managers often had to look through the general chat on Slack, waiting for responses from developers. The issue was, sometimes they would receive no reply even after 12 hours, especially when the developer was in a different time zone and might be sleeping or unavailable.

This situation was not only time-consuming but also frustrating (due to feeling ignored), as project managers needed to act quickly and efficiently to assemble the right team. This is where Prosterio comes in. With Prosterio, project managers don't just see a list of recommended developers; they can immediately reach out to them directly. Even if they choose to use the general chat and get responses from developers who were not initially recommended by Prosterio, they can still gauge the mindset and willingness to upskill of those developers. Furthermore, project managers can view the profiles of these developers on Prosterio to ensure a better match for the project.

Prosterio streamlines the process, saving time, overcoming the challenges of different time zones, and ensuring that the developers involved have a growth mindset and are committed to upskilling.

What It Does

Prosterio is a Streamlit-based application designed to assist IT Project Managers in managing tech talent. The app leverages AI technologies to process PDF CVs, extracting relevant data, and matching the right developers to specific projects. Key functionalities include:

  • PDF CV Data Extraction: Automatically extracts relevant information from uploaded PDF CVs and converts it into a structured format for easy processing.
  • Retrieval-Augmented Generation (RAG): Utilizes RAG to provide accurate and relevant developer-project matches. By leveraging Snowflake and Cortex Search, Prosterio ensures that the most suitable developers are recommended for your specific project needs. The RAG system is enhanced by integrating LangChain, which helps structure the data extracted from CVs and facilitates interaction with Mistral for understanding and processing the information in a meaningful way.
  • Advanced Matching: The RAG system improves match quality by integrating cortex search and complete function from snowflake Mistral and the saved chunk from structured output with LangChain. This combination ensures that developers with the right skills and experience are recommended for each project.
  • Interactive Chat Interface: A user-friendly chat feature allowing project managers to interact with the AI assistant and get personalized recommendations.
  • Talent Dashboard: Provides a comprehensive view of your tech talent pool with easy access to data and analytics.
  • User Authentication: Secure sign-in, account creation, verification and forget password using Firebase Authentication.

How We Built It

foto Prosterio was built using a combination of powerful tools and technologies:

  • Streamlit: Used for the interactive web app, allowing us to quickly build and deploy the app.
  • Snowflake: Employed for cloud-based data storage and query processing. It holds the developer profiles and helps with the matching algorithm.
  • Mistral (LLM): Integrated as part of the RAG system to enhance the accuracy of project-to-developer matches using advanced language models.
  • LangChain: LangChain is used to structure the output data extracted from PDF CVs and facilitate interaction with Mistral. It organizes the raw text extracted from CVs into a structured format, enabling Mistral to process and understand the information more effectively for improved matching.
  • PyPDF: A Python library used to parse and extract data from PDF CV files.
  • Pandas: Helps in managing, analyzing, and visualizing data for the talent dashboard.
  • Firebase Authentication: Secure sign-in, account creation, verification and forget password using Firebase Authentication.

Challenges we ran into

I initially planned to build this application using NestJS, TypeScript, and React but switched to Python due to Hackathon requirements. Along the way, I learned from open-source resources and decided to make my code public to help others. Here are the references I used (some are mine):

I also gained insights from Snowflake's resources (tutorial 1-3). This project, originally part of my undergraduate thesis on Retrieval-Augmented Generation (RAG), has been a valuable learning experience.

Accomplishments that we're proud of

  • Exploration of Both Cortex Search & Vector Search: While the final implementation of Prosterio focused on Cortex Search, I am proud to have successfully explored both Vector Search and Cortex Search during development. This hands-on experimentation helped me better understand their strengths and refine the project's search capabilities.

  • Building a Practical, Interactive Solution: The development of an intuitive, interactive chat interface has significantly improved the project management experience. Project managers can now easily engage with the AI assistant, which helps them find the right developers quickly and efficiently, streamlining the entire process.

  • My First Project with Streamlit: Prosterio marks my first experience working with Streamlit, and I’m proud of how quickly I was able to learn and implement it to create an interactive, user-friendly application. The project helped me gain hands-on experience with this powerful tool and integrate it seamlessly into the development workflow.

What we learned

  • Adapting to new technologies: Switching from TypeScript to Python and Streamlit was new to me. It pushed me to learn and adapt quickly, improving my skills in using different tools and frameworks.
  • Using open resources: Learning from other developers and utilizing open resources taught me the value of shared knowledge and community support.
  • Believe in myself and prove it : I started this project in December and worked on it until January. In mid-January, I had to finish my thesis proposal. I’m proud that Prosterio helped me prove to my professor that my idea is practical and worth developing further.

What's Next for Prosterio

Since the developer of Prosterio is a worker-student in her 7th semester of Information Systems at BINUS University Online, she has continued this project as her final project/thesis with the topic "RAG-Driven HRIS for IT Outsourcing Companies." In addition to this:

  1. Enhancements and Features
    The project will include new features and improvements based on user feedback and further research, such as enhanced matching algorithms, additional data visualization tools, and more interactive elements in the chat interface.

  2. Open-Source Contributions
    The developer plans to continue contributing to the open-source community by sharing updates, new features, and insights gained during the ongoing development and implementation of Prosterio. As the project is publicly available, anyone interested in learning or collaborating is encouraged to connect.

  3. Paper Publication
    This year, the developer aims to achieve a publication for her thesis paper. While the topic focuses on Information Systems, Prosterio is being meticulously developed to meet the requirements of an academic publication.

Built With

Share this project:

Updates