Michael Gircys

Software Development, Integrations & Product Design


 

In Process of Updating

 


About

I'm looking forward to learning about new technologies, and finding ways to engineer new and novel applications.

Business

I've been refining my skills with over five years of application development experience, with much of the time being focused on enterprise software systems.

Always being interested in new technologies and audiences, I've become familiar with developing for desktop, mobile, and web-based platforms.

Having created software for both small business and enterprise institutions, I've worn the hats of a frontline developer, project lead, systems analyst, and junior business systems analyst. I've been able to explore both independent, freelance positions, and opportunities where I was member of a large team.

Business applications have been varied, leading to a working knowledge of common asset management, workflow, and finance systems, and experience in performing third-party systems integrations.


Portfolio

2025

Laser Etecher (TODO)

Reverse Engineered for Electronics Repair and Accessories
Ortur AL1 Laser Etcher Modelled Model with Parts Axially Isolated

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc nec odio in mauris vulputate bibendum nec at erat. Aliquam molestie ex ante, a lobortis dui porta ac. Donec lectus orci, interdum a tellus ut, congue maximus neque. Donec cursus non tellus nec porttitor. Cras et dolor ac tellus congue posuere. Nunc faucibus lacus nec feugiat euismod. Maecenas sed nulla at nibh semper maximus ac eu lorem. Praesent commodo interdum leo sit amet placerat.

Modelled Belts in Motion System

Download Project

  • Date: May 2025
  • Technologies: CAD

Shot Timer (TODO)

Embedded Software Development and Product Design
Example Image

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc nec odio in mauris vulputate bibendum nec at erat. Aliquam molestie ex ante, a lobortis dui porta ac. Donec lectus orci, interdum a tellus ut, congue maximus neque. Donec cursus non tellus nec porttitor. Cras et dolor ac tellus congue posuere. Nunc faucibus lacus nec feugiat euismod. Maecenas sed nulla at nibh semper maximus ac eu lorem. Praesent commodo interdum leo sit amet placerat.

Example Image

Download Project

  • Date: March 2025
  • Technologies: CAD, C
2024

IR Vision Monocular (TOOD)

Short description text
Example Image

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc nec odio in mauris vulputate bibendum nec at erat. Aliquam molestie ex ante, a lobortis dui porta ac. Donec lectus orci, interdum a tellus ut, congue maximus neque. Donec cursus non tellus nec porttitor. Cras et dolor ac tellus congue posuere. Nunc faucibus lacus nec feugiat euismod. Maecenas sed nulla at nibh semper maximus ac eu lorem. Praesent commodo interdum leo sit amet placerat.

Download Project

  • Date: December 2025
  • Technologies: C#, .NET
2023

Automated Dehumidifier (TODO)

Industrial Automation Product Design and Industrial Controls
Example Image

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc nec odio in mauris vulputate bibendum nec at erat. Aliquam molestie ex ante, a lobortis dui porta ac. Donec lectus orci, interdum a tellus ut, congue maximus neque. Donec cursus non tellus nec porttitor. Cras et dolor ac tellus congue posuere. Nunc faucibus lacus nec feugiat euismod. Maecenas sed nulla at nibh semper maximus ac eu lorem. Praesent commodo interdum leo sit amet placerat.

Download Project

  • Date: November 2023
  • Technologies: CAD, C
2021

Modular USB Power Distributor (TODO)

Electronics Layout and Product Design
Example Image

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc nec odio in mauris vulputate bibendum nec at erat. Aliquam molestie ex ante, a lobortis dui porta ac. Donec lectus orci, interdum a tellus ut, congue maximus neque. Donec cursus non tellus nec porttitor. Cras et dolor ac tellus congue posuere. Nunc faucibus lacus nec feugiat euismod. Maecenas sed nulla at nibh semper maximus ac eu lorem. Praesent commodo interdum leo sit amet placerat.

Download Project

  • Date: March 2021
  • Technologies: C#, .NET
2019

Gas Station Market Price Analysis (TODO)

Short description text
Example Image

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc nec odio in mauris vulputate bibendum nec at erat. Aliquam molestie ex ante, a lobortis dui porta ac. Donec lectus orci, interdum a tellus ut, congue maximus neque. Donec cursus non tellus nec porttitor. Cras et dolor ac tellus congue posuere. Nunc faucibus lacus nec feugiat euismod. Maecenas sed nulla at nibh semper maximus ac eu lorem. Praesent commodo interdum leo sit amet placerat.

Download Project

  • Date: February 2019
  • Technologies: Java, R
2018

Image Evolution Using 2D Power Spectra

MSc. Thesis
Texture Evolution Using 2D Power Spectra

After a number years of part-time study in evolutionary computation and art systems, the findings of an extensive exploration into compositional guidance through spatial-frequency measures has been presented in the MSc. thesis Image Evolution Using 2D Power Spectra.

Evolutionary art systems have shown success in producing novel variations of existing images, particularly with respect to non-photo-realistic filters, colour properties, and aesthetic models. With the assistance of Dr. Brian Ross, methods for evolutionary guidance of spatial properties were explored, expanding upon measures showing promise in database retrieval and classification applications based on frequency / power spectral analysis. Metrics were assessed for their ability to capture spatial / compositional attributes from existing target images and guide evolutionary candidates towards new images with similar properties.

A evolutionary art system was produced with tuned measures allowing for reasonable replication of spatial attributes in a number of target images classes.

Abstract:
Procedurally generated textures have seen use in many applications, are a high-interest topic when exploring evolutionary algorithms, and hold a central interest for digital art. However, there is an existing difficulty in finding suitable heuristics for measuring perceived qualities of an image. Particular difficulty remains for quantifying aspects of style and shape. In an attempt to bridge the divide between computer vision and cognitive perception, one set of proposed measures from previous studies relate to image spatial frequencies. Based on existing research which uses power spectral density of spatial frequencies as an effective metric for image classification and retrieval, we believe this measure and others based on Fourier decomposition may be effective for guiding evolutionary texture synthesis. We briefly compare some alternative means of using frequency analysis to guide evolution of shape and composition, and refine fitness measures based on Fourier analysis and spatial frequency. Our exploration has been conducted with the goals of improving intuition of these measures, evaluating the utility of these measures for image composition, and observing possible adaptations of their use in digital evolutionary art. Multiple evolutionary guidance schemes with consideration of the spatial frequencies' power spectra and phase have been evaluated across numerous targets with mixed results. We will display our exploration of power spectral density measures and their effectiveness as used for evolutionary algorithm fitness targets, particularly for basic compositional guidance in evolutionary art. We also observe and analyze a previously identified phenomenon of spatial properties which could lead to further consideration of visual comfort and aesthetics.

An analytics pipeline which produced various aggregate measures using Fourier analysis was developed in Matlab and exported to native C code. We used JNI to offer these tools to our Java based evolutionary art system, and explored possible image evolutions guided by these measures.

Performance By Topology Variant

Overcoming numerous issues throughout our exploration, such as producing the correct abstractions in our analytics, limiting our capture to only the most pertinent data points, and adjusting restrictions in our evolutionary system, we were eventually able to find suitable tunings for our system to produce notable results for evolutionary art. While certain targeted images found varying levels of success, some classes of images were quite trivial to replicate, and even the particularly difficult targets found interesting and novel r eproductions.

Noise Refinement On Van Gogh Target

We were successful in using 2D power spectra as an effective means of guiding evolutionary image synthesis. Through comparison of the produced and targeted images through 2D Fourier analysis, we were able to extract key spatial characteristics and use this data to guide the evolution of images towards those which share similar compositional traits.

Download Thesis (Mirror)
Download System

  • Date: February 2018 (Defended)
  • Technologies: Java, MATLAB, JNI, C++, C#
2017

Battery Pack Adapter (TODO)

Reverse Engineering and Adapter Product Design
Battery Mount Model Image

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc nec odio in mauris vulputate bibendum nec at erat. Aliquam molestie ex ante, a lobortis dui porta ac. Donec lectus orci, interdum a tellus ut, congue maximus neque. Donec cursus non tellus nec porttitor. Cras et dolor ac tellus congue posuere. Nunc faucibus lacus nec feugiat euismod. Maecenas sed nulla at nibh semper maximus ac eu lorem. Praesent commodo interdum leo sit amet placerat.

Battery Mount with Wiring Terminals

Download STL (No Electronics)

  • Date: December 2017
  • Technologies: CAD
2016

THREE.js Visualizations

A collection of graphic demos using HTML canvas and WebGL

Small graphics demonstrations were created to familiarize with TypeScript, as well as canvas capabilities and WebGL through the THREE.js libraries.

Graph Connectivity Demo

Inspired by the various "starfield" graph connectivity demos, a lineart variant was developed. Cubic Bézier curves were employed to pull edges closer to each endpoints other immediate neighbours.

View Live Demo

Hex Automatae Demo

An expansion on Conway's Game of Life, Frank Buss has proposed a ruleset for a hexagonal variant. Variants have been implemented with varying options for grid size, border wrap, and ruleset. The Cubehelix colour palette is also generated and explored.

View Live Demo

Moire Pattern Demo

Moiré patterns are formed from the overlay of multiple similar patterns with transparent gaps. This simple demonstration overlays a pair of the previously formed hexagonal grids to help explore the emergent patterns through rotational symmetry.

View Live Demo

  • Date: December 2016
  • Technologies: THREE.js, JavaScript, TypeScript

Learning Aesthetic Preferences

A replication experiment to guide Evolutionary Textures with Machine Learning
Learning Aesthetic Preferences

Based on the interactive evolutionary art system project previously developed, machine learning techniques were employed in an attempt to automate user ratings of generated images based on aesthetic criteria. A number of image attributes are calculated and extracted before being used to provide a rating, or an additional sample for decision tree and neural network learning algorithms.

Performance By Topology Variant

The system originally proposed by Li et al. was replicated and continuously refined to improve classification performance. Obtaining the reported performance scores proved to be a difficult endeavor, and work is ongoing to further improve the learning system capabilities.

Download Project
Download Report

  • Date: April 2016
  • Technologies: Java, R, WEKA

Neural Networks & Clustering

Data Science Experiments with Neural Networks and K-Means Clustering
Neural Networks & Clustering

To gain a better understanding of machine learning techniques, implementations were made for a pair of common machine learning algorithms. A supervised feed-forward, artificial neural network was generated, making use of backpropagation learning and other gradient descent variants. Also implemented is the unsupervised k-means clustering algorithms. Experimentation was then done to determine the effectiveness of certain system configurations across varied data sets.

Feed-forward Neural Network
Download Project
Download Report
K-Means Clustering
Download Project
Download Report

  • Date: March 2016
  • Technologies: C#, R
2015

Tetramino Placement Puzzle Solver

Employing Backtracking Algorithms to solve a modified Packing Problem
Tetramino Placement Puzzle Solver

Tetraminos - groups of four joined squares - have been a popular tool for puzzle generation. Such puzzles were frequently offered by the game The Talos Principle. While many of the puzzles and dialogues presented in the game proved to be insightful, the reoccurring challenges with tetramino arrangements eventually became monotonous. Recalling previously learned techniques for box-packing and other permutational problems, the challenge of producing this puzzle solver proved more interesting than the challenge presented by the game. The final solver uses backtracking to attempt board arrangements, and works reasonably well for the size of problems presented by the game.

Download Project

  • Date: December 2015
  • Technologies: C#

FEC Code Channel Tester

Dynamic testing and analysis of robust, Error-Correcting Encodings
FEC Code Channel Tester

Forward error-correcting codes (FEC) can be used to encode information in a manner which is robust to small amounts of channel noise, allowing a noisy signal to be corrected using other information sent in the transmission. Many well-studied codes have mathematical proofs regarding their efficiencies, but changes to the expected inputs, the amount of channel noise, and the encoding parameters can have substantial effects.

A tool to analyze the encoding size and transmission success rate was developed to test codes in a more dynamic environment. All code, channel, and input functionality is expandable through use of a plugin system.

Plugin Environment

Download Project

  • Date: December 2015
  • Technologies: C#

Interactive Evolutionary Art System

Evolving Procedural Textures with user-guided fitness
Interactive Evolutionary Art System

Engineers and artists alike have both made use of evolutionary algorithms for inspiration and optimization. These evolutionary systems use techniques inspired by Darwinian evolution to repeatedly produce items with attributes or behaviours approaching a desired specification. An artistic system using evolutionary algorithms and user-feedback was developed on the ECJ system to facilitate further study in computational aesthetics and texture synthesis. This interactive evolutionary art system takes user ratings of the presented images, and generates additional candidates which more closely reflect the higher rated selections. Repetition of this aesthetic selection produces images which should become increasingly appealing to the user.

Example Evolved Individual

Within the domain of evolutionary algorithms, many specific algorithms have been studied and used to great effect for the generation of artistic textures. A survey of common and promising modern techniques has been explored and compiled. The specific synthesis methods in the system I have implemented use genetic programming - a method of evolving parametric functions to produce pixel data at each image position. A near limitless amount of options are available to be used with the system, and further exploration will be done to compose both parametric functions and convolutional operators.

Download EvoArt Survey
Download Project

  • Date: April 2015
  • Technologies: Java

Android User Health Monitoring

Capturing and storing user events to facilitate mental health analysis
Android Mental Health Monitoring

A system was created to collect and monitor key events on an android-based mobile device. The main user-facing app would permit manual event entry by the user, The app would also maintain and display status of a launched background service. This service would monitor a number of the event collections and synchronize them with an external data store through the now defunct Parse services.

Events were pulled through various Android-provided observer classes, but also required tracking a number of hidden events. Data such as MMS message recipient and message content required substantial reference from the Android source to develop and maintain, and non-standard implementations required vendor-level adjustments.

The service would also manage automated push requests to direct the user to standard psychological surveys. These surveys were presented via a mobile-focused web application to allow for increasingly rapid modification, and flexibility of survey design. Care was taken to ensure the data collected did not exceed the scope for which client's data store had compliance.

  • Client: 1Datapoint Diagnostics
  • Date: February 2015
  • Technologies: Java, Android SDK, PHP
2014

Auto-Tracking Turret (TODO)

Robotics and Computer Vision Integrations Project
Turret (Student-Budget) Motion System

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc nec odio in mauris vulputate bibendum nec at erat. Aliquam molestie ex ante, a lobortis dui porta ac. Donec lectus orci, interdum a tellus ut, congue maximus neque. Donec cursus non tellus nec porttitor. Cras et dolor ac tellus congue posuere. Nunc faucibus lacus nec feugiat euismod. Maecenas sed nulla at nibh semper maximus ac eu lorem. Praesent commodo interdum leo sit amet placerat.

Desk, Construction In Progress

Download Project

  • Date: May 2014
  • Technologies: Java, OpenCV

Lindenmayer Systems Tools

Graphical tools for exploring and exporting Lindenmayer art systems
Lindenmayer Systems Tools

A Lindemayer System (or, LSystem) is a string replacement engine originally designed to model plant growth behaviours. The fractal nature of the system and the ability to use randomized replacement options can give very organic, natural looking products. An initial investigation into LSystems was taken for an academic course project, where an implementation which employs 3D rendering options was developed. LSystems are an interesting option for 3D synthesis, and I have since been continuously expanding the capabilities of my program.

L-System 3D Export L-System Timed Playback

The generated LSystem models are exportable to more adaptable formats, such as the Wavefront .obj specification. In addition to generating geometry primitives, the LSystem tool can track and export CSound score events for music composition.

View 3D Render
Download Project

  • Date: May 2014
  • Technologies: C#, C++, C

Photography Management Systems

Image archival, workflow, and integrations for appointment photography
Photography Management Systems

An online booking system was developed to permit scheduling photography shoots based on event availability. Care was taken to maintain portability and abstract branding for distribution to other franchise licensees. Booked clients would be redirected to payment services, and issued a printable receipt with barcoded identifiers for improved service speeds. Clients would also be able to view previews of the archived photographs after the event to request physical prints. A configurable sales package system was developed to assist with marketing promotions and discounts.

To facilitate the automation of image archival, a key development for the photography management system was a customized image capture and transfer tool. The tool would listen for a camera's image capture events, download the image from the camera, and synchronize the local image download folder with an external server. The use of event tags and pre-printed barcodes allowed the user to easily associate images to individuals and events, greatly improving photographer and manager workflow. The tool was heavily customized from the digiCamControl project, and required custom compatibility tweaks for the Nikon D400 (including live preview, and remote shutter control).

  • Client: Proshots Digital Event Photography
  • Date: March 2014
  • Technologies: C#, Java, PHP

Academics

In 2015, I had the oppertunity to further my education with part-time graduate studies through Brock University's Masters programme in Computer Science under the supervision of Professor Brian Ross.

Research topics which have been explored include:

Research has recently completed, culminating in the thesis Image Evolution Using 2D Power Spectra which uses signal processing features and explores models of computational aesthetics to synthesize new and novel images from an existing piece.


Contact

Location

St. Catharines, Ontario
Avaliable through telepresence.
Able to relocate.

Around the Web

Michael Gircys is an experienced software developer available for freelance software development.