These applications are part of an ongoing self-learning journey to explore new technologies and connect my software development skills with personal interests.
I developed a JavaFX Spectral Analyzer application to view and analyze IQ recordings This started off only support SigMF files but has been updated to support WAV and raw complex interleaved signals.
Manual burst selection allows the user to highlight sections of the capture for further analysis. An analysis dialog allows the user to fine tune the time and frequency selection and also capture an estimate of the power level, noise floor and SNR.
The client can connect to REST servers to access custom analysis functions. The application allows selecting multiple burst to be sent to a REST analysis and update the comment/description per annotation.
I successfully modernized a legacy Java monolith by migrating its core HMM/GMM logic to a distributed thin-client architecture. I leveraged Spring Boot to build a secure REST API that protects proprietary functionality, while developing a cross-platform frontend using Flutter to enhance the user experience
Client Side
Allows user to specify number of cluster/states and load a CSV of observation (expecting to 2 features)
Send request to server and color code scatter plot on response.
Server Side
Runs HMM/GMM in unsupervised clustering and returns labels.
Implemented in LibGDX and can be built either as a desktop jar or Android app. Currently this only generates a tone and uses the international morse code with tone modulation. (no receiver)
I used this project to explore the LibGDX framework for game development.
Java Swing application to perform scoring based on taking the majority rule of the rankings from judges.
The input is provided through a comma separated value (CSV) file.
The sorted rankings is exported as CSV file as well.