• Home
  • About
  • Projects
  • Resume

ImageProc

Screenshot of the ImageProc GitHub repository.

ImageProc is an image processing pipeline toolbox built for the parallel processing of large numbers of images. It allows a user to provide a single command to specify image input and output, and applies the desired operations.


ImageProc was developed in Java to both increase my understanding of image processing and to be utilized for the ease of image processing tasks in large batches.

The toolbox is entirely modular, allowing for ease of operation creation. Operation order and nesting can be developed into a complex tree structure using pipeline functions and parallel processing.


The syntax of ImageProc's input was developed using similar concepts to program language interpreters, including tokenizers, parsers, and abstract syntax trees.

Repository
Java
Image Processing
Parallel Processing

VisualSickness

Screenshot of the homepage of visualsickness.tcnj.edu.

VisualSickness is a web application developed by me and my research group at The College of New Jersey.


It provides a place for researchers of cybersickness to collect, group, and share their studies using various information structures that mimic real-life concepts.

The application provides a way for researchers to administer and collect data in the form of Simulator Sickness Questionnaires, a common cybersickness survey.

I was heavily involved in the development of the application, which is written in PHP and MySQL, using Bootstrap and jQuery.

VisualSickness is the topic of a workshop paper, which has been presented at the IEEE VR 2023 conference. The paper can be found at: IEEE Explore

Repository Check It Out!
PHP
HTML
Bootstrap
jQuery
MySQL

RAT

Screenshot of the homepage of RAT on npmjs.com, showcasing the project's deployment and README.

RAT is a simple-to-use HTML template language, specifically built for serving simple pages with state with Express.JS.


It was built using Typescript in Node.JS and published as a public NPM package. RAT supports features such as variable interpolation, common HTML tags and structures, and custom CSS support.

Repository Check It Out!
Typescript
Node.JS

LScript

LScript logo - black lettering 'Ls' on an orange background. Credit https://www.github.com/wdylanbibb.

LScript is a built-from-scratch custom language interpreter built using Java. It is built to be relatively easy to code in and readable, but has many features that make it great for quick scripts.


LScript supports many common language functions such as variables, loops, conditionals, file importing, file management, and more. Full binaries for the interpreter are available for both WIndows and Unix operating systems, along with extensive documentation.

Repository
Java

ModVA

A screenshot of a Python source file of ModVA, highlighted in various colors in a code editor.

ModVA (short for Modular Voice Assistant) is a fully modular voice assistant built using Python.


All commands and functionalities are provided via modules, which can be developed using a simple API and automatically read by ModVA.

Because of the modularity of the VA and the fact that these modules are also written in Python, development is very easy, and implementation can vary from simple to more complex capabilities, including any number of imported libraries.


A few sample modules, as well as detailed documentation on the module API, are available at the GitHub repository.

Repository
Python

WordAround

WordAround logo - stylized light blue lettering "WA" on a dark blue background.

Built shortly after the immense success of Wordle, WordAround is my take on a similarly-designed word game.

Instead of guessing a 5-letter long word, a player has several tries to guess a 6- or 7-letter long word with an undefined starting point, displayed on a circle.

Words are randomly generated, and the goal is to guess as many words in a row as possible.


WordAround was built using pure HTML5, CSS3, and JavaScript, with a very minimal Express.JS backend.

Repository Check It Out!
HTML5
CSS3
JavaScript

xaridar.github.io

A screenshot of the main page of this site, depicting the name 'Elliot Topper' on a blue background.

This site, which was built to act as a personal portfolio for projects, also gave me an avenue to try new languages and frameworks.

It was built using TailwindCSS and EJS for the majority of the frontend, neither of which technologies I had ever used before.

These were joined in frontend by jQuery, which I had only used once before.

The backend, however, was built using Express.JS, a framework I have become very familiar with. This bit of familiarity helped me to focus on the new parts of the site.

This site is hosted on GitHub Pages, which I had never used before this.

Repository Check It Out!
Node.JS
jQuery
TailwindCSS
EJS

Dungeon of Curses

Screenshot of the main menu from Dungeon of Curses; depicts a small building under flaming lettering reading 'Dungeon of Curses'.

Dungeon of Curses is a small commandline roguelike game that was submitted to and won HackTCNJ2022, the annual 24-hour hackathon put on by The College of New Jersey.


I built Dungeon of Curses within the 24 hours of the hackathon along with Dylan Bibb.

It is a Python game made using the Python port of the classic I/O library ncurses. All content in the game is procedurally generated, including maps, enemies, and items.

I primarily worked on data retrieval using multiple public APIs for this generation, creating background music, and developing the backend leaderboard server using Node.JS, Heroku, and PostGreSQL.

Repository
Python
REST APIs
ncurses
Node.JS
Heroku
PostGreSQL

Bullseye

Bullseye logo - white and red clip art target on a brown background.

Bullseye is an Android app that I worked on along with Dylan Bibb and Aakash Sell as a submission for the 2021 Congressional App Challenge.


While the app did not place in the competition, I gained much experience from the development process.


Bullseye contains a series of games meant to benefit the development of children with ADHD and/or ADD by stimulating memory, focus, and critical thinking, but is useful for all children.

The app also tracks every user's stats in the app and lets an admin account view and export these stats to track individual metrics.


This was the first full Android app I worked on, as well as my first major collaborative project, and through it I learned quite a bit about SQL, MVC architecture, and development in a team.

I was the backend lead of the project, and was responsible for one of the games, database management, and background music, as well as general app coding and design.

Repository
Android
Java
XML
SQLite

Notable

Notable logo - red lettering 'N' on a white background.

Notable is a social Android app that I developed within a few weeks to refamiliarize myself with Android development.

The premise of the app is a kind of social media without followers, comments, or the like - instead, all content delivery isbased on physical location, using Firebase's GeoHashing API.


While it is unfortunately quite buggy, I learned a lot while creating it.

I learned much about how to use Firebase's cloud functions, including an entirely remote aunthentication workflow and data and file storage through Firebase.

Repository
Android
Java
XML
Firebase

Jason

A screenshot from Github.com, of the Jason software repository.

Jason is a basic voice assistant that I built in Python for Gauntic, a proposed collaborative project by a group of friends.


Jason has many different functions built into it for relatively easy hands-free use of simple systems.

It utilizes many public Web APIs for information retrieval, from URL shortening to definitions and news.

Additionally, Jason has control over media and other OS-dependent systems such as camera and notifications.

Finally, Jason runs using a configuration file, which can contain aliases for websites and applications to be opened automatically.


All functions are described in the GitHub repository's README, as well as a list of all external resources used.

Repository
Python
Rest APIs
pyttsx3
GitHub LinkedIn Email