Enervee Marketplace
A nation-wide appliance store front for electrical utilities to provide rebates customers to purchase energy-efficient appliances.
My role as a key developer and maintainer of this site had me working closely with other developers and product owners, as well as communicating across teams, and demoing new features to company stake-holders. This site utilized a micro-frontend approach with Angular, AngularJS, and VueJS, as well as a micro-service architure on the back-end with Django and PostgreSQL.
A quick and incomplete list of my achievements on this project include:
- A total rewrite of the of the cart checkout-flow using modern, reactive Angular and Angular best-practices
- Optical Character Recognition (OCR) support for customer verification via utility bill
- Dynamic marketing campaign pages, served from an in-house CMS
- Credit card payment authorization
- Special customer-utility validation bypass support conditions
Lead Sherpa Realtor App
An application for realtors to connect with prospective home sellers. Includes analytics dashboards, messaging via Twilio, client management, and admin roles for tiered app control. Built with Next.js and React.
I worked alongside a team of developers, designers, and product owners to take the application from a mock to production. We planned and developed features, and implemented comprehensive end-to-end test coverage.
A quick and incomplete list of my achievements on this project include:
- Implementation of real-time message via the Twilio API
- User authentication and privileges to grant special controls to admin users
- Robust end-to-end testing using Cypress
- Prefilled message responses
- Fetching and displaying prepared data within lists, tables, and charts
- Prospective client hiding and prioritizing functionality
Entity Component System Framework
This is an opinionated Entity Component System framework, built with C++. An Entity Component System architecture is one which groups data together by type for improved performance throught CPU caching optimizations.
The architecture also allows for great entity flexibility, since it's an entirely compositional approach to creating entities. This means any entity can have, or not have, any properties they need to. Then custom constructor functions can be used to easily register these enties with the provided entity manager.
My library acts more like a framework in how opinionated it is. Every component struct is wrapped with a common set of utilities. These utilities are the only way to read and update the component data. This means no more runtime null checks, just write the game logic as though the data exists. Components can have special tags though, which provide additional functionality and/or restrictions. This tag systems determines how components are stored in memory, and how they can be queried and accessed. There are also a few unsafe escape-hatch methods, which can be enabled with a compiler flag. These allow for any performance optimizations needed in the game logic.
This is an ongoing effort with many feature planned for the future. Performance optimizations and custom tags are on the feature list. This library is also at the core of a custom 2D game engine I am building, which as of now, is not public.
An example of a small game built around just this library and SDL2 can be found here. The game is a Space Invaders clone called Block Invaders.
BleepTube
This app allows the user to load a YouTube video, and censor specified chunks of audio to make it more family-friendly. When a part of the video is censored, the audio is partially muted, and a fun dolphin sound is played over it.
Features persistent data for any video, allowing for automatic censorship upon subsequent video loads.
Built with Angular, and includes family-friendly ad support.
Open Source Static Blog Generator
A minimalist coding blog static site generator. Generate a website from HTML templates and YAML config files. New articles can be auto-generated from the command line. Includes automatic backup support, build functions, and a custom CLI help menu. It is licensed as fully free and open-source. Built using NodeJS.
I use this for my own personal blog, gregori.dev, where I share my opinions and insights relating to software development. A slightly modified version is also used for this current website, gregori.tech, which is where I share my portfolio and professional contact information.
Super Balloon Popper!
Listen to groovy music while popping balloons of various colors and sizes. Intended for babies and toddler to enjoy.
Developed with the Angular and Ionic framework, this app runs on both web, and android. It supports Google AdMob family-friendly ads, and employs multiple tactics to deter accidentally exiting an active gameplay state.
It also uses a custom native plugin to allow the user to directly open their mobile accessiblity menu to enable child-safe screen blocking. This is handled with Java, and accessible via a Capacitor bridge, so it is only supported in the native mobile version of the application.