Lefteris Chatzipetrou Projects

A comprehensive list of work and personal projects

← Back to CV
All (16) Work (14) Personal (2)

YAATD - Yet Another AI Tool Directory

Side Project
Jan 2025 - Feb 2025
I have created an AI tool directory, mainly to provide SEO for my own products and also to learn about embeddings and search. It is a simple web application that allows users to submit and search for AI tools using natural language. The backend is written in Node.js with fastify, the database is MySQL, and the frontend is in Svelte(Kit) with JavaScript. The search functionality is powered by a locally hosted embeddings model. It is a personal project that I worked on during my free time.
Node.jsFastifyMySQLSQLDatabasesSvelteJavaScriptPythonFastAPIMachine LearningAIEmbeddingsHTMLCSS

GreeNest

Work Project
Jan 2024 - Present
GreeNest is an Europe Horizon project focused on creating an ecosystem for zero emission buildings. For our contribution we have created several new IoT devices in order to measure energy consumption, heating and other environmental parameters, including a weather station.
ElectronicsSensorsCEmbedded systemsESP32Wi-FiBLEGitESP-IDFFreeRTOSElectrical EngineeringGitEAGLEHorizon Europe

LoveCore AI

Side Project
Dec 2023 - Dec 2024
An AI companion project where users can interact with virtual characters using natural language via a chat interface. Via the chat interface, the users and the AI bots can send texts, images and voice in both directions. The AI bots are powered by locally hosted LLMs, text-to-speech / speech-to-text models. Image generation is done using Stable Diffusion with custom scaffolding to allow for consistent character generation without errors. Image detection is done using BLIP. Backend is written in Node.js with fastify. Database is MySQL, Frontend is in Svelte(Kit) with JavaScript. The models are wrapped in Python using FastAPI. It is a commercial product with moderate success.
Node.jsFastifyMySQLSQLDatabasesSvelteJavaScriptPythonFastAPILLMStable DiffusionBLIPGitMachine LearningAIText-to-SpeechSpeech-to-TextText-To-ImageImage GenerationImage to TextImage DetectionHTMLCSSWebSocketsocket.io

AppManager

Work Project
Oct 2022 - Dec 2023
Integrated applications into the platform. Provided solutions to improve performance. Backend is written in Django and Python, frontend is written in ReactJS and TypeScript. Agent software running on appliances is written in Golang. Frontend is written in ReactJS and TypeScript.
ReactJSJavaScriptTypeScriptDjangoPythonPostgreSQLGolangAWSGitHTMLCSSAI Prompting

Tracking System - Crystal

Work Project
Feb 2022 - Apr 2022
Developed a manufacturing tracking system for a refrigerator factory as a contract project. It consists of a web service running on-premises to minimize latency, a MySQL database and a hybrid app used to scan barcodes.
PHPJavaScriptMySQLSQLDatabasesCapacitorAndroid

Elevator IoT Gateway - Doppler

Work Project
May 2020 - Jul 2020
Developed an IoT gateway device for an elevator manufacturing company using ESP32 and supporting Ethernet, WiFi and SIM communication. The project was separate from our platform and we provided source code, schematics and gerber files.
CEmbedded systemsESP32SIM800Wi-FiEthernet

Amazon Alexa Smart Home Skill

Work Project
Nov 2017 - Dec 2017
Created an Alexa Smart Home Skill for controlling the smart devices of the company.
Node.jsJavaScriptAWS Lambda

Temperature Map GL

Work Project
Jul 2017 - Aug 2017
Created a javascript library that allows to create fast temperature map overlays using WebGL by leveraging a custom shader to do the calculations.
JavaScriptWebGLGLSLOpenGL

Facebook Messenger Bot

Work Project
Jul 2016 - Mar 2018
Created a Facebook Messenger Bot for controlling the smart devices of the company. Eventually we retired it due to restrictions from Facebook and the fact that it was not used much.
Node.jsJavaScriptFacebook Messenger API

App Frontend

Work Project
Jun 2016 - Present
The frontend is written in Javascipt with no framework (not counting jQuery as a framework). It is written as a single page application (SPA). It has the ability to connect to the Node Cloud service and subscribe to devices and data streams. It can also send commands to devices, setup rules, manage users and more. The frontend is designed to be responsive and work on both desktop and mobile browsers. It is also used as a template for the mobile apps. It can show graphs using the datalogs from users devices and can support a big number of different kinds of products, all of which can be specified directly in JavaScript. New products can be added within days, asumming most of the product features were already implemented in the past.
JavaScriptjQueryHTMLCSS

Mobile Apps

Work Project
Jun 2016 - Present
The mobile apps were written as hybrid apps using originally Cordova and later Capacitor. That way we can share the code between Android, iOS and Web. The apps have some extra features compared to the web version of the app, like the ability to setup devices using WiFi and Bluetooth.
CapacitorCordovaAndroidiOSJavaScriptCSSHTML

IoT Node Service

Work Project
Jun 2016 - Present
Node Service is where all the devices connect and keep an open network connection. Through that connection, they can send data and receive commands. Clients connect to the service using WebSocket and can subscribe to specific devices or data streams. The service is written in Node.js. It is similar to a MQTT broker but tailored to our specific needs. In addition to receiving the data and feeding commands, the service saves the data in a time-series custom datalog system. The data is eventually compressed with brotli for fast web serving. The sensor data is also used to run user specified If-This-Then-That style rules to trigger notifications, activate other devices and more. It is designed with horizontal scaling in mind
Node.jsJavaScriptMySQLSQLDatabasesWebSocketRedisBrotliGitLinuxAmazon AlexaGoogle Home

IoT Device Firmware

Work Project
Jun 2016 - Present
Since the beginning we have been using Espressif's ESP8266 and ESP32 microcontrollers for our products. I have architected the firmware in such a way so most of the code is shared among devices. Only product specific aspects, like sensor readings, outputs and settings need to be developed. I have written drivers many sensors like temperature, humidity, pressure, gas, light, motion and more. These drivers can be reused among products to further reduce the development work needed. It is highly modular system that allows new product firmware to be developed within days. The firmware is written in C using ESP-IDF. For the ESP8266 products, we used the Non-OS SDK provided by Espressif.
CEmbedded systemsESP32ESP8266Wi-FiBLEGitESP-IDFFreeRTOS

API Backend

Work Project
Jun 2016 - Present
The API backend is responsible mostly for the non-device / CRUD operations, like user management, permissions, rules setup etc. It is written in PHP and the database is MySQL. The API is consumed by the mobile apps and the web frontend
PHPMySQLSQLDatabasesRedisJSONREST

Company Website

Work Project
Jun 2016 - Dec 2022
The original website was written in PHP and eventually we have added eshop features written from scratch. We used braintree for payments. We have since migrated to a new shopify website for easier management from non-developers and better user experience.
PHPHTMLCSSJavaScriptjQueryBraintree

Hamtool - Manufacturing Utility

Work Project
Jun 2016 - Present
In order to allow manufacturing staff to flash and test the products, I have written a GUI utility in Python using Tkinter. The GUI connects to the serial port of the device and can generate authentication keys using our backend API. In addition, it can communicate with test equipment over the network to perform calibration in specific energy related products. It can generate device labels and interface with our label printer(s). Was originally written for Linux, but later adjusted to work on Windows also.
PythonSerialTkinter