Andrés Velásquez's Portafolio

Hi! welcome to my portafolio.

I am a data scientist and software developer and here you will find a couple projects I have worked on.

linkedin_logo linkedin_logo linkedin_logo

D-JAI - Language models for playing music


a gif of the application

This project demonstrates the use of Language Models (LLMs) for creating intuitive software interactions, specifically tailored towards music recommendation. Users can make requests in natural language, such as "Create a playlist for studying for a math test," and the system generates relevant tags using the LLM. These tags are then used by a vector database to group songs based on cosine similarity, thus providing suitable music recommendations. The system further enhances user experience by incorporating functionality to control a music player instance (mplayer), and to search and download music from YouTube, making it a comprehensive, user-friendly music recommendation and management tool.


Checkout the code here.

Gepeto: an AI powered general assistant


"the future is not guaranteed, only the passing of time" - Avery Kimball

an screenshot of the telegram bot

In this passion project, I leveraged the capabilities of Python, the OpenAI api, SQL, an embedding database, and the Telegram bot api to develop a comprehensive solution. The project revolves around a chatbot class, created using the Python OpenAI library, specifically employing the functionalities of GPT models with function calling. The brain folder contains the crux of the model, housing the chatbot logic and functionalities. This chatbot interfaces with a Telegram bot, implemented via the Python Telegram Bot library, and lives in tlbot.py. This design employs two storage modes, both contained in the database library. These modes involve a SQLite database, tailored for intentional data storing, and a Chroma database, supplied by the ChromaDB library, established for the storage and retrieval of past bot and user messages. Notably, the bot can also schedule messages to be dispatched at specific dates and intervals courtesy of the APScheduler library, adding an extra layer of automation to the solution. This project showcases my proficiency in dealing with varied databases, designing chatbots, and integrating them with a live messaging platform.


Checkout the code here.


Listapp - Attention is all we have


"seize the means of algorithmic recommendations" - Karl Marx

Gif for Article 1

I embarked on this passion project with a vision to address the pressing issue of algorithmic autonomy, through creating a novel social network. This network manifests as a webpage where users can not only save references to various media content including podcasts, videos, music, articles, books and tweets, but also explore the content saved by their friends, essentially curating a digital library of media. The foundational layer of this project utilizes a robust Python server based on the FastAPI framework coupled with a Docker-based PostgreSQL database, guaranteeing easy deployment. Initiated with a front end composed of vanilla JavaScript, HTML, and CSS, the project subsequently transitioned to a Vue.js prototype before the final react.js-based product was realized. Additionally, the project features a Chrome extension, developed with vanilla JavaScript, seamless integration and user experience. This project truly reflects my commitment to leveraging technology for meaningful connection and user empowerment.


Checkout the code here.


ChatMed - Medical Assistance chrome extension


an screenshot of a chatbot

As a freelance project I created 'ChatMed', a dual-function JavaScript extension using Vue.js framework, aimed at simplifying healthcare professionals' repetitive tasks. Comprised of a form automation system built with vanilla JavaScript, this tool streamlined the design and modification process of patient forms, mitigating data-entry errors and boosting administrative efficiency. The extension also included an AI-assisted medical chatbot developed to provide healthcare providers with potential diagnoses and treatment suggestions. This project facilitated profound growth in my technical skills and understanding of AI in healthcare, while bolstering my ability to fulfill client requests and adapt solutions to user-specific needs. The project enhanced my organization, problem-solving, and self-learning capabilities, equipping me for dynamic tech environments and reinforcing my drive to develop impactful technological solutions.


Checkout the code here.


SteamRec - A Video game recommendation system


an screenshot of a chatbot

In this project, we developed a recommendation system based on a dataset of Steam game user reviews, using the primary library, Scikit Surprise. We initially loaded and cleaned the data from a zip file, removing erroneous or missing values. After exploring various attributes, we imputed test values from selected user preferences to check the model's performance. After analyzing different models, the Singular Value Decomposition method was chosen for recommendation model creation due to its low root mean square error. We further improved this model using grid search for optimal performance parameters. Since user preference wasn't immediately identifiable in the dataset, game play hours were used as an indirect representation of user opinion. A new attribute was formulated for each review showing the standard deviation of hours played for each game. While the abstract results were promising, there's room for improvement, such as integrating a recommendation system based on item similarity or using richer datasets with more relevant attributes.


Checkout the code here.


ML for real state value prediction


an screenshot of a chatbot

This project utilizes data from https://blog.properati.com/properati-data/# to analyze and make predictions for the Argentinian real estate market. It employs machine learning models to anticipate property prices based on their features. The Jupyter notebook documents every step, from data cleaning and analysis to model creation and optimization, ensuring clarity in process and code. In addition to predicting property prices, the project offers insightful findings on the Argentinian real estate market. Key libraries used include pandas, numpy, scipy for data manipulation, seaborn, matplotlib for data visualization, and sklearn for constructing machine learning models. Data cleaning is performed initially to handle missing and erroneous data followed by outlier removal. Then, multiple machine learning models like Random Forest and Polynomial Linear Regression are created and tested for predicting property prices. Techniques like Random Search and Grid Search are used for model optimization along with attribute transformations within the data set.


Checkout the code here.