About
I’m a software engineer with a curious and analytical mindset who enjoys solving problems, learning new things, and taking on challenges. I like finding simple, practical solutions while keeping the bigger picture in mind, balancing long-term thinking with the urgency of the situation. I value collaboration and teamwork, and strive to bring creativity, dedication, and a positive attitude to every project. I’m always looking for ways to improve, both personally and professionally. Outside of work, I enjoy staying active and finding balance through activities that keep both my mind and body engaged.
Education
Ionian University
BA in Informatics
2024
For my thesis, I developed a web application using modern software libraries and examined methods to ensure its reliable operation throughout the Software Development Life Cycle (SDLC). I employed unit tests and Static Application Security Testing (SAST) to detect errors and vulnerabilities. The research presents a Python-based RESTful API application with HTML, CSS, JavaScript, and ReactJS. AWS and Terraform were used to provision and deploy the thesis environment.
Graduation was extended due to commitments to professional projects and deeper exploration of advanced application techniques, strengthening both academic and professional growth.
Projects
A network-themed browser maze arcade game that grew out of my earlier Pac-Man project.
PACKETLOSS is built with TypeScript, Three.js, Vite, and React, with desktop and mobile controls. Players recover data bits, evade enemies, and use power cores, portals, and weapons to navigate the maze. It features solo play and private Battle Royale rooms backed by an authoritative Node.js WebSocket server, with accounts, synchronized profiles, and saved scores. The AWS infrastructure uses Lambda APIs and DynamoDB for backend services and persistence, with S3 and CloudFront serving the frontend.
A clean, modular FastAPI backend for authentication and user management.
I built secure-waypoint with separate API, controller, and repository layers to keep request handling, business logic, and database access organized. It includes JWT access and refresh tokens, bcrypt password hashing, and role-based access control for users, moderators, and administrators. User management supports CRUD operations, current-user profiles, username search, pagination, and creation-year filtering. The backend uses asynchronous SQLAlchemy with PostgreSQL, provides OpenAPI and ReDoc documentation, and includes Alembic migration scaffolding. Docker Compose runs the API, PostgreSQL, and Nginx, while GitHub Actions runs linting, formatting checks, and pytest coverage against PostgreSQL.
Internal registration required for full access.
Developed for Hakra and since discontinued, TicketParser matched ticket information with relevant events by extracting key details such as event name, date, and location from a ticket. It processed this data by filtering significant keywords and querying events from the Skybox API. The front end interface allowed users to input ticket information, while the back-end handled event filtering and classification based on keyword relevance and time compatibility. The application was deployed on AWS using ECS for scalable hosting and S3 for storage, ensuring reliability and efficiency in ticket-to-event matching.
Arctic Fox
A Flask and React CMS for file and folder management.
Built on my thesis work, Arctic Fox combines a Flask API and React interface with role-based authorization, OAuth2 authentication, and OpenAPI documentation. AWS and Terraform support deployment.
A Flask-Powered Ecommerce Application
Digital Odyssey is a versatile ecommerce web application built with the Python Flask framework, featuring a full range of functionalities for both user and administrative tasks. This application not only supports product browsing and order processing but also includes a custom CMS for backend management accessible via an /admin page. It incorporates Elasticsearch to enhance search capabilities, along with a responsive design for a seamless user experience across devices. The README in the repository provides detailed setup and usage instructions, showcasing its readiness for both development and deployment.
Python-Based Data Parsing Tool
The GEMH Info Extractor is a Python project designed to parse text files and extract detailed information about companies. It accurately identifies and extracts a company’s official name, GEMH number, website details, and the registration date from the provided texts. This data is then structured by a specialized DataExtractor class, utilizing specific patterns and attributes to ensure precision. The extracted information is stored in a MySQL database and can be queried through a RESTful API, which also offers live documentation. This tool is ideal for streamlined data extraction and efficient information management, all accessible via a user-friendly API documented on a dedicated web page.
Harnessing social media for public health: From tweets to treatment.
This project utilizes machine learning to identify tweets indicating COVID-19 infections, distinguishing them from general COVID-related discussions. Using a dataset of 2000 annotated tweets, a bidirectional recurrent neural network (BRNN) was implemented, achieving an F1-score of 0.98. This study demonstrates the potential of social media data in real-time epidemic monitoring and addresses challenges such as data imbalance and informal language.
Turning sound into insight: Enhancing care with technology
This MATLAB application employs convolutional neural networks (CNNs) to detect baby crying sounds from audio inputs. Utilizing the ESC-50 dataset, the project involves preprocessing audio into mel spectrograms and training a neural network with these data. The app features a trained model that analyzes sounds from the microphone to determine if a baby is crying, displaying results visually through color-coded indicators and a mel spectrogram of the audio. The process includes data categorization, spectrogram generation, and network training, culminating in a practical tool for baby cry detection.
Early projects built primarily to learn and experiment with web technologies.
I built this collection roughly 6–7 years ago to learn HTML, CSS, and JavaScript through hands-on projects. It includes adaptations of Tetris, Pac-Man, SudokuX, and Hyper Sudoku, with much of the artwork created by me. These games reflect my early experiments with game logic, browser interactions, and design. The Pac-Man project later evolved into PACKETLOSS, featured above.
Hobbies and Interests
Some of my hobbies and interests include:
- ♟️ Chess
- 🥋 Martial Arts
- 🧘🏻 Spirituality
- 🤸🏼 Jumping Rope, Running, Biking
- 📖 Fantasy Novels
- 👨🏼🎨 Drawing
- 🏋🏼 Lifting Weights
- 🎮 Gaming
- 🏍️ Motorbikes