Portfolio.

Flower.

Project Lead / Sysop / Lead Developer

The ultimate alternate arcade rhythm network. Since 2015.

projectflower.eu/about

Flower is a non-profit, independent, international Arcade Network with a focus on imported Asian Arcade games. We have grown from small roots with only one arcade, less than 20 players, and 3 co-founders, to having over 15 locations across Europe, over 650 players, and a worldwide development team of over 20 volunteers from a diverse set of backgrounds.


Kailua

Kailua is the definitive arcade communication server and user management federation provider. Written in a Python 3 / Flask / SQLAlchemy (MariaDB) / Celery stack (with Bootstrap 4 for user-facing elements), it has been designed from the ground up to become the last word in its field for features, support, and stability.

Kailua is designed around the concept of modules; a module can be anything from a protocol encoding handler, to a user management system, or even a full game support module. Each module has its own set of database migrations, ensuring that messy migration merges are simply not an issue.

Kailua also features full Localisation and Internationalization support, an extensible REST API (with oauth2 authentication) for client developers (with an integrated web panel for end users to manage authorizations), automated CI build-test-deploy routines with a heavy emphasis on Dockerization, and a whole lot more. It's no wonder that Kailua powers numerous other alternative networks, providing services to over 2,000 users collectively worldwide (and growing!).

License
Closed-source, free licensing subject to application & vetting
Lines of code
70,000+
Size
~15MB

Vulkan

Vulkan is Flower's Web Interface. It's written in PHP with the Laravel 5 framework. It's designed to be a simple, responsive interface for end users, arcade operators, and network operators, with a heavy emphasis on speedy feature implementation.

Vulkan communicates with Kailua using a combination of direct database queries (through Laravel's Eloquent ORM), a Redis pub/sub connection (for real-time updates), and more recently, with authentication over the REST API. The frontend interface is written with Bootstrap 3 & JQuery, with stylesheets written in SASS and javascript packed down from ECMAScript 5.

Vulkan lets users view detailed information about their own scores, monitor statistics over their career (we even suggest things like timing offset!), track their friends (and enemies!), add credit to their virtual wallets for coinless play, and way more. For Arcade Operators, it also houses the Arcade Management interface, which lets operators view statistics about their cabinets (including total credits played, estimated income, and popularity over time), self generate new virtual credit vouchers, and more.

While Vulkan is an awesome interface, it's nearing the end of its life, as we look to transition away from direct database queries, moving towards our REST API.

License
Closed-source, transitioning to FOSS under GPL
Lines of code
10,000+
Size
~350MB (including raw, uncompressed graphical assets)

theBIGGAME.

Head of Streaming & AV / Production Runner Since TBG38 / Feburary 2015

IT'S BIG. The South's biggest LAN Party.

thebiggame.org


The /r/openttd network.

Server Operator / Administrator / Moderator

Transport Tycoon for everyone.

/r/openttd ttdredd.it