Featured Projects

A selection of engineering, architecture, and IoT solutions in which I have participated.

Cloud & Web Architecture

New Generation NFL Fantasy

Angular.NET CoreSQL ServerAzure CloudAzure DevOpsGit Flow

Role: Full Stack Engineer & Scrum Team Member
Methodology: Scrum (2-week Sprints)

We developed a comprehensive Fantasy Football platform, ensuring scalability and high availability using Azure Cloud services. The solution follows a strict Clean Architecture pattern and adheres to SOLID design principles, fully decoupling the Angular frontend from the .NET Core backend to maximize maintainability, testability, and independent scaling.

Beyond coding, the project focused heavily on Engineering Process. Managed via Azure DevOps, we adhered to rigorous Scrum ceremonies and artifact management. We utilized CI/CD pipelines to automate deployments across multiple environments, ensuring that quality was built into the product from day one rather than inspected in at the end.

Infrastructure & Environment Architecture

Development
Architecture Dev
Testing / QA
Architecture Test
Production
Architecture Prod

Git Workflow & Code Quality Strategy

Repository: View on GitHub

To guarantee stability and traceability, we enforced a robust Git Branching Strategy consisting of:

  • Protected Branches: A stable main branch for production releases and a develop branch for integration.
  • Feature Branches: All development occurred in isolated feature branches derived from develop.
  • Strict Pull Request (PR) Policy: Merges to developrequired a mandatory PR. No direct pushes were allowed.
  • Code Reviews & Traceability: Every PR required peer reviews and had to be linked to its respective Azure DevOps Issue/Task. We utilized a strict template for PR descriptions to document changes and testing evidence efficiently.
Git Strategy and Repo

Embedded Systems & IoT

Smart Home Custom Control System

Custom Linux OS • Driver Development • Hardware Integration

Raspberry Pi 4Yocto ProjectC/C++Cross-CompilationFlask(python)

Developed a Embedded Web Server to control and monitor a physical Smart Home model. Unlike standard implementations, this project involved building a Custom Linux Image using the Yocto Project.

Key Engineering Features:

  • Cross-Compiled Libraries: We wrote custom C/C++ dynamic libraries to interface directly with the hardware sensors (GPIOs) and cross-compiled them for the target architecture.
  • Real-Time Synchronization: The system features bidirectional communication. Interacting with the physical model (e.g., opening a door) updates the web interface instantly, and clicking a light on the web turns on the physical LED.
  • Camera Integration: Implemented driver support to capture real-time snapshots of the environment via the web dashboard.
Hardware & Model Interaction Demo
Web Control Dashboard Interface
Smart Home Web Interface

FPGA & Digital Logic Design

NIOS II Soft-Processor Alarm System

Hardware/Software Co-Design • Interrupts • Platform Designer

Altera NIOS IIC LanguagePlatform Designer (Qsys)Quartus PrimeInterrupts (ISR)

Designed a complete microprocessor system on an FPGA using the NIOS II soft-core processor. This project demonstrates true HW/SW Co-Design, where the hardware architecture was defined in Platform Designer (Qsys) and the logic was implemented in C.

  • Microarchitecture: Integrated the NIOS II CPU with custom peripherals including JTAG, Timers, 7-segment displays, and Buttons.
  • Interrupt Driven: Avoided busy-waiting by implementing hardware Interrupt Service Routines (ISRs) for the timer and buttons, ensuring precise timekeeping and responsive user input.
  • Functionality: A fully functional alarm clock allowing time setting, alarm configuration, and audio-visual triggers via buzzer/LEDs.
System Operation Demo
Platform Designer (Qsys) Architecture
NIOS II Qsys Design

Hardware-Based VGA Tic-Tac-Toe

SystemVerilogVGA ControllerFSM (Finite State Machines)UARTDigital Logic

A multiplayer Tic-Tac-Toe game built entirely in hardware using SystemVerilog, without a CPU core. The project focuses on low-level digital logic and video signal generation.

  • Custom VGA Controller: Designed a driver from scratch to manage H-Sync and V-Sync signals for a 640x480 @ 60Hz resolution.
  • FSM Game Logic: Utilized complex Finite State Machines to manage turn-taking, win-detection algorithms, and debouncing of physical inputs.
  • Hybrid Control: Supports Player vs. Player or Player vs. CPU (via Arduino UART integration).
VGA Game Main Screen
VGA Game Gameplay
VGA Game Win State

Analog & Mixed Signals

Audio Mixer Circuit 1
Audio Mixer Circuit 2 (Diagram)

Proximity Audio Mixer

OpAmpsAnalog FiltersSensorsADCVoltage Control

An analog audio mixing system controlled by a proximity sensor. The circuit mixes two distinct audio sources (Signal 1 & 2) proportionally based on the distance of the user’s hand.

  • Signal Conditioning: Linearization of non-linear sensor data to ensure smooth audio transitions.
  • Voltage Controlled Gain: Implemented stages where gain is strictly controlled by the processed sensor voltage to fade signals in/out.
  • Complementary Logic: Designed analog logic to calculate the signal complement (e.g., if Signal A is 90%, Signal B is automatically 10%).

TDM Telephone System

TDM MultiplexingDSP (FFT)Infrared (IR)Analog-Digital Hybrid

A dual-stage system (Analog & Digital) designed to simulate the operation of a telephone keypad using Time Division Multiplexing (TDM). The core innovation involves a wireless optical link and advanced signal processing.

  • Frequency Synthesis: Analog generation of 6 distinct frequencies, combined in specific pairs ($f_0-f_2$ mixed with $f_3-f_5$) to encode data.
  • Optical Wireless Link: Transmission is achieved via Infrared Light. We implemented a custom emitter-receiver pair using an IR LED (Transmitter) and a filtered Photodiode/Phototransistor (Receiver) to minimize ambient noise.
  • Digital Signal Processing (DSP): The received analog signal is digitized, and we applied the Fast Fourier Transform (FFT) algorithm on the microcontroller to decompose the signal, identify the frequency pairs, and decode the key pressed.
TDM System Circuit 1
TDM System Circuit 2 (Diagram)

Desktop Applications

Algorithmic and logic-heavy desktop solutions.

Image Recovery

In this academic project for the Algorithms and Data Structures II course, we developed a system that recovers an image using the genetic algorithm. The genetic algorithm is an artificial intelligence technique inspired by biological evolution to solve optimization and search problems. It works by generating and evolving candidate solutions over multiple generations, selecting and combining the best solutions to progressively improve the results. In the context of this project, the genetic algorithm is used to efficiently and automatically search for and obtain the missing part of a specific image.

c++

Breakout

This project was designed with a client-server architecture in Java, where the player communicates exclusively with the server using the sockets approach. We implemented the Singleton design pattern to ensure a single server instance and the Observer pattern to notify players of changes in the game state. The objective was to improve the efficiency and scalability of the game, providing a fluid and real-time gaming experience.

java
;