Bruce SUIRE39 years old
Software Architect & Consultant
Senior Full-Stack Developer
23+ years in programming
16 years in web development
Development
Symfony PHP SQL C#
Principles
SOLID DDD Hexagonal CQRS
Frontend
VueJS jQuery CSS3 TailwindCSS
Methodologies
SCRUM TDD Kanban XP Agile
Graphic design
Photoshop Illustrator 3DSMax Maya

🤓 What I've learned...

Self-taught since high school, my intensive practice of mapping — a discipline at the crossroads of many trades — led me to acquire a wide range of skills : programming, web and software development, graphic design, game and level design...

🎓 ... what I was taught

After earning my Science Baccalaureate (specialization: Mathematics), I went on to study a Biology degree specializing in geology (Geosciences), fascinated by the complex mechanisms that shaped our familiar landscapes.

🏭 What's next?

After my studies, I decided to redirect my career towards my main skill, which had always occupied my free time, computing, and joined the video game industry as a scripter/level-builder, game-designer and tool programmer... A rich professional experience that allowed me to deepen my knowledge of Agile methodologies and inter-team coordination within highly constrained projects.

Building on this experience, I then established myself as an independent Developer and Web Consultant, a profession I have now been practising for over 15 years...

Personal projects

Programming for fun is also programming to grow

Web Frameworks

Curious to understand their internal workings and to test new features, I had the opportunity to develop several frameworks in the past:

WebKore 2010 → 2012

Comprehensive development of a PHP framework inspired by Symfony 1 and 2.

  • Custom ORM (ActiveRecord)
  • YAML configuration (custom parser)
  • MVC - Modular organisation
  • HTTP router with built-in URL rewriting and canonical URLs/redirects handling)
PHP

WebKore.NET 2013

Port of the WebKore framework to the .NET platform.

  • Convention-oriented ("opinionated")
  • Inspired by the ASP.NET framework
  • Uses the RAZOR template engine
  • GNU/Linux compatible
C# ASP.NET

MediaKore/MediaServe 2014

HTTP server for GNU/Linux compatible with C# applications for IIS.

  • Multithreaded requests
  • Dynamic loading of different applications (dll) in isolated environments (AppDomain)
  • Uses the Mono framework
  • Built-in Less CSS pre-compiler
C# Mono

Misc Web

My main professional projects are detailed on the home page, but here are a few more examples from my personal work.

CinéPortail 2017 → 2020

A SaaS platform for cinema venues offering numerous tools to streamline theatre management and communication with audiences.

  • Fully customisable platform creation: content, features, graphic theme...
  • Main features: film sheets, events, articles, admin tools...
  • Scheduling sync with the venue's point-of-sale software.
Front Back SaaS
  • PHP
  • Symfony
  • Twig/Vue.js
  • MinIO (S3)
  • RabbitMQ

Image cropper/resizer 2018

Image resizing and cropping component for Vue.js

  • Fixed or free aspect ratio
  • Allowed format restriction
  • Min and max dimensions
  • Automatic resizing (via HTML canvas)
Front
  • Vue.js
  • JS

D3 Calculator 2018

Equipment simulator for Diablo 3, allowing players to calculate the impact of attributes on hero stats (health, damage...)

  • Real-time updates
  • Gems
  • Javascript pseudo-classes
Front

Emoji Picker 2025

A fairly simple website that emoji lovers will appreciate, allowing them to search and copy-paste them in the blink of an eye.

  • Classification by categories
  • Search by name and keywords
  • Copy to clipboard in a single click
Front

Bureaux Beaux et Durables 2013

A fairly simple showcase website, yet interesting for its use of the Apostrophe plugin for Symfony.

  • Each page is made up of independent editable blocks (Apostrophe).
  • Synchronisation with Scoop It for automatic news publishing.
  • HTML integration of the mockup provided by a graphic designer.
Back Front
  • PHP
  • Symfony 1.4

Text-highlighter 2010

Front
  • JS

Graphic themes

Graphic design
  • HTML
  • CSS
  • LESS
  • SASS
  • Tailwind

Misc Programming

Working on many varied types of applications — including 3D engines — taught me a great deal, not just in terms of technologies, but also in architecture, constraints, and optimisation...

SEO Console / OkSEO 2016

Tools for analysing data from the Google Analytics and Search Console APIs.

  • Page statistics (position, impressions, clicks, CTR)
  • Incremental updates (high data volume) from the APIs.
  • Keyword analysis tools
  • SEO behavioural analysis tools (navigation flow)
C# SEO
  • WPF
  • Multithreading

Quark Engine 2010

First prototype 3D engine coded in C++ using the Qt framework.

  • Rendering of basic geometries
  • Camera rotation
  • Dynamic loading of OpenGL renderers
C++ 3D
  • OpenGL
  • Qt

Moon Editor 2011

Prototype 3D engine coded in C# using the OpenTK framework.

  • Static geometries and UV Mapping (Warcraft 3 models and textures)
  • Translations and Rotations of the model
C# 3D
  • OpenGL
  • OpenTK

Time series analyzer 2008

University project for computing linear regressions from given time series (written in IDL).

  • Linear regression computation
  • Curve plotting
  • File reading and writing
  • Advanced interface and curve configuration
IDL Maths

File parsing & processing

Beyond simple text file processing, I have handled many other formats and practised binary file reverse-engineering (notably when building several 3D model importers).

BlizzImporter 2006

3dsMax script for importing 3D models from Warcraft 3 along with their animations.

  • Parsing of text files (.mdl) and binary files (.mdx)
  • Import of geometry (vertices) and skeleton (bones)
  • Import of animations (quaternions)
  • Import of textures (UV mapping) and materials
  • Animation editor (concatenation of several original animations into one)
MaxScript

M2 Importer (WoW) 2005

3dsMax script for importing 3D models from World of Warcraft along with their animations.

  • Parsing of binary files (.m2, .wmo)
  • Import of geometry (vertices) and skeleton (bones)
  • Import of animations (quaternions)
  • Import of textures (UV mapping) and materials
  • Animation editor (concatenation of several original animations into one)
  • Geometry editor (selection of model variations to import)
MaxScript

MDL Importer 2003

3dsMax script with a graphical interface for importing 3D models from Warcraft 3.

  • Parsing of text files (.mdl)
  • Import of geometry (vertices) and skeleton (bones)
  • Import of animations (quaternions)
  • Import of textures (UV mapping) and materials
  • Model events and particle emitters
MaxScript

Geosets Merger 2003

Script with a graphical interface for automatically merging geometries from two Warcraft 3 3D models.

MaxScript

Game programming/building - Mapping

Of the many game editors I had the chance to try, my absolute favourite will always be the Warcraft 3 editor, which offered tremendous creative freedom where almost everything was possible : game system scripting via a powerful scripting language, texture and model integration, terrain design and modelling... And when something wasn't possible, you found a way to make it happen !

I rebuilt many systems from World of Warcraft inside this editor to extend the original game's features, constantly pushing my programming limits as I tackled new challenges.

JPhysics

Code library simulating a physics engine inside Warcraft 3.

  • Simulation of physical principles: gravity, bouncing, friction
  • Terrain height taken into account
vJass

JQuest

Code library automating quest creation in Warcraft 3 (vJASS).

  • Quest prerequisites (hero level and class, parent quests...)
  • Dynamic quest journal
  • Automatic objective tracking (gathering, exploration, escort...)
vJass

JBuff

Code library extending the buff/debuff system in Warcraft 3 and serving as a framework for creating custom enhancements.

  • 100% scriptable enhancements
  • Stackable enhancements
  • Enhancement/enchantment dispelling
vJass

JSpell

Code library extending the spell system in Warcraft 3 and serving as a framework for creating custom spells.

  • 100% scriptable spells
  • Cast time / interruption
  • Channelled spells
  • Spell families
  • Mana regeneration
  • Customisable progress bar
vJass

JCombat

Code library replicating WoW's combat systems inside Warcraft 3 (vJASS).

  • Aggro & combat lists
  • Scripted combat phases
  • Customisable monster AI
  • Programmable/automated patrols
vJass

JEquipment

Code library simulating an advanced item equipment system in Warcraft 3 (vJASS).

  • Visual display of 3D models
  • Advanced prerequisite and item type management (hero class, stats, mana...)
  • Item enchantment system
vJass

Game building - Mapping

Having tried many game editors — from Age of Empires to Half-Life (Hammer) — my absolute favourite will always be the Warcraft 3 editor where almost everything was possible : terrain modelling, texture and model integration, game system scripting via a powerful scripting language... And when something wasn't possible, you found a way to make it happen !

And above all, a very ingenious and creative community... <3

Nights of Kalimdor

A support project for skills acquired over the years, serving as both inspiration and sandbox for many learning experiences...

Warcraft 3

Miniature painting & sculpting

I also practised miniature painting during my younger years (up to high school). My high school years... alongside the beginning of my passion for computing... miniature painting...

Warhammers

...

A little more about me...

Instead of thinking outside the box, get rid of the box

Languages

French (native language), English (read, written, spoken), German (advanced notions)

Hobbies

Music (guitar, piano, singing), Hiking, Traveling, Arts

I also enjoy renovation and DIY work, activities that surprisingly echo my approach to development: understand the existing, intervene with care and improve durably.

Ethics

To manage, in my way of life, to stay attuned to what speaks most strongly within me, and to devote myself to it wholeheartedly.