Votre navigateur est obsolète !

Pour une expériencenet et une sécurité optimale, mettez à jour votre navigateur. Mettre à jour maintenant

×

Thomas John

Senior Front-End & Full-Stack Creative Developer

Freelancer Open to opportunities
Senior Front-End & Full-Stack Developer with a creative edge, bringing 20+ years of experience building web, mobile, and desktop applications, often with a strong focus on interactivity, design, and performance.

I’ve led and contributed to a wide range of projects: SaaS platforms, promotional websites, product UIs, branded mini-games, and internal tools. My front-end work is grounded in clean architecture and thoughtful UX, often incorporating motion and custom interfaces using Vue, React, or plain HTML & CSS. On the back end, I’ve built and maintained APIs, managed databases, and helped shape scalable systems using tools like Node.js, Deno, PHP, MySQL, and various frameworks as needed.

Over the years, I’ve also spent quite some time exploring game development, creating full-fledged games, engines, tools, and prototypes, mostly independently. I’ve worked professionally on a few arcade-style games and prototypes (Unity/C#), while continuing to develop personal projects to experiment with gameplay mechanics, AI, and procedural systems.

Technical strengths:
Vue.js, React, TypeScript, Unity, C#, Three.js, JavaScript, WebGL, Node.js, Deno, SQL, Web3.js, Haxe, HTML/CSS
Also experienced with: Photoshop, Animate, Figma, Illustrator, Reason, SoundForge, and more.
Quick to adapt to any object-oriented language such as Python, Java, Dart, and others.

I’ve worked across creative agencies, product companies, and tech teams, taking projects from concept to deployment, always aiming for something clean, usable, and meaningful.

Happy to connect about front-end projects, full-stack work, creative tools, game dev, or weird ideas.
  • Unity, C#
  • I was brought in to take over a turn-based strategy game project already in progress, with the main goal of setting up a solid technical foundation that other developers and artists could build on. The idea was to create a flexible and scalable system, something that would let designers and non-programmers work inside Unity with minimal coding, but still give them lots of control.
  • Built a modular entity system, where everything in the game; from players to creatures, items, spells, and cards, was treated as a configurable entity. This made the game highly extensible and editable directly in the Unity editor, following a consistent structure and rule set.
  • Designed the game logic with AI and networking in mind, inspired by how Hearthstone handles simulation. The system supported fast simulations of possible outcomes within a given context, helping the AI choose the best move — and was also well-suited for later multiplayer integration.
  • Focused on developer and designer usability, making sure the systems I built could be easily understood and extended by the rest of the team.
  • Early prototypes and previews:
    https://www.youtube.com/watch?v=NzBxedsrsCA&ab_channel=ThomasJohn

Unity Game Developer – Endless Runner + Endless Jumper

Reed.be
July 2015 to 2015
Freelancer
Brussels
Belgium
  • Unity3D, C#
  • Developed two arcade-style games, an Endless Runner and an Endless Jumper (that ended up not so endless), using Unity3D and C#, as part of a larger interactive application also built in Unity.
  • Designed and coded the core gameplay mechanics for both games, focusing on smooth performance, responsive controls, and fun, replayable loops.
  • Integrated both games into a larger Unity-based application, ensuring seamless transitions and consistent user experience while taking into account memory usage (RAM and VRAM)
  • Balanced quick iteration with code structure, keeping the games modular and easy to tweak or expand.
  • This project was a good opportunity to focus on rapid prototyping within Unity while working within the constraints of a broader app environment.
  • Early prototypes and previews:
    https://www.youtube.com/watch?v=NzBxedsrsCA&ab_channel=ThomasJohn
  • C#, Unity3D, Photon, Multiplayer, Game Design
  • Mask of War was a multiplayer, cross-platform turn-based strategy game prototype, set in a steampunk-inspired universe. The project was initiated with a co-founder, with the goal of building a playable prototype that could attract funding.
  • Took the role of lead developer and co-founder, overseeing the entire development stack: game mechanics, networking, scene setup, and system architecture.
  • Developed both the client-side gameplay logic and the server-side multiplayer architecture using Photon.
  • Integrated all artwork, models, animations, sound effects, etc.
  • Designed and tested experimental gameplay systems, including simultaneous turn execution and early AI support for solo play.
  • Led a small interdisciplinary team (artists, animators, 3D modelers), handled feature planning, narrative direction, and overall game vision.
  • Although the project ended early due to difficulties securing funding despite active efforts, it provided valuable experience in prototyping, team leadership, and networked game architecture.
  • ActionScript 3, Stage3D, Flash, GPU Shaders
  • ND2Dx is a highly optimized 2D GPU-accelerated game engine I built using Flash’s Stage3D API. Designed for speed and flexibility, it significantly outperformed alternatives like Starling at the time, and powered the WorldGameMaker editor.
  • Custom 2D rendering engine leveraging Stage3D and shaders to push GPU performance to its limits, achieving blazing-fast rendering speeds.
  • Advanced display list system: Implemented a double-linked list hierarchy to allow for ultra-fast traversal and manipulation of 2D elements (sprites, containers, custom meshes, animated sprites, particles, etc.).
  • Rich visual capabilities: Support for tinting, blend modes, pivot points, color transforms, scaling, and full sprite animation.
  • Efficient batching system: Rendered thousands of objects per frame using GPU-optimized shader logic and minimal draw calls.
  • 2.5D rendering, scenes, and camera system to allow more visual complexity while staying within a 2D framework.
  • Component and material systems: Fully integrated, lightweight, and flexible, allowing for modular object behaviors with near-zero performance cost.
  • Full animation framework with powerful timeline control, high speed, and ease of use.
  • Input and event handling: Custom mouse interaction system with a fast, signal-based event dispatcher.
  • Bitmap font support and rich text rendering optimized for GPU.
  • Exploited specific quirks of the ActionScript 3 virtual machine to squeeze out maximum performance.
  • Focused heavily on performance profiling, memory management, and GPU pipeline efficiency.
  • This project was a deep dive into low-level rendering, real-time graphics, and game engine architecture — and gave me a solid foundation for everything I’ve done in real-time rendering and performance optimization since.

    Github link:
    https://github.com/NoRabbit/ND2Dx

Creator & Lead Developer – WorldGameMaker

myself
2011 to 2016
Brussels
Belgium
  • ActionScript 3, Stage3D, ND2Dx, Nape Physics, Adobe AIR
  • WorldGameMaker is a custom-built game development IDE I originally created for our team at Reed.be while working on SoundQuest, a mobile game for Sony Ericsson. Flash’s default editor quickly proved too limited, especially with our desire to push visuals using Stage3D and GPU acceleration, so I started building my own.

    What started as a basic level editor evolved into a full-blown development environment, tightly integrated with my custom 2D engine ND2Dx and packed with features tailored for game creation.
  • Built on top of ND2Dx: Fully leveraged my own GPU-accelerated engine for high-performance rendering and animation.
  • Full-featured IDE: Designed and developed an intuitive interface for creating, editing, testing, and exporting games and apps — all within a single environment.
  • Live Debugging & Testing: Run and debug games directly inside the editor with real-time updates and interaction.
  • Component System: Reusable and extensible components to streamline gameplay logic and object behavior.
  • Physics Integration: Initially built a basic physics system, then integrated the open-source Nape physics engine for more complex simulations.
  • Dynamic Scripting: Enabled dynamic loading of ActionScript code and real-time editing through a customizable property editor.
  • Cross-platform Publishing: Used Adobe AIR to export games and apps to both mobile and desktop platforms.
  • UI System: Developed a near-complete user interface toolkit within the editor for building menus, HUDs, and in-game controls.
  • Used extensively: Most of my games and apps during that time were built using WorldGameMaker.
  • It was built out of necessity but grew into a robust, production-ready tool that empowered both solo and team-based development.
  • It constantly evolved with my projects, making it both a creative playground and a technical deep-dive into engine/tool design.
  • ActionScript 3, Stage3D, ND2Dx, WorldGameMaker, Photoshop
  • Memory Wizard is a playful and dynamic memory game designed for children, combining traditional memory mechanics with fun physics interactions. Built entirely with mobile performance in mind, it was a solo project where I handled everything from game design to art and engine-level optimization.
  • Built the game from scratch using ActionScript 3 and my own ND2Dx engine, leveraging Stage3D for GPU-accelerated rendering.
  • Used WorldGameMaker, my in-house IDE, to speed up development and level design.
  • Designed and created all visual assets, including UI elements, characters, and animations.
  • Integrated a light physics layer to add engaging, real-time interactions for kids.
  • Optimized for mobile devices (performance, resolution, and input responsiveness).
  • This project was a fun intersection of creativity and technical problem-solving, and it gave me a chance to build a full experience, from engine to interface, entirely on my own tools.
  • ActionScript 3, Adobe Flash, Sound Design, Game Design
  • Space Cropper 2 is the sequel to my original action-arcade game Space Cropper, developed entirely in pure Flash and ActionScript 3. The game combines fast-paced gameplay, stylized visuals, and custom audio to deliver a polished arcade experience.
  • Sole developer: Handled everything from core mechanics to final polish — including animation, UI, sound design, and implementation.
  • Built entirely with native Flash display list and ActionScript 3, without relying on external engines or frameworks.
  • Designed dynamic gameplay and visual feedback systems to keep players engaged.
  • Created the entire soundtrack and sound effects, giving the game a distinct audio identity.
  • Visual assets were adapted from Lostgarden.com under an open art license.
  • Received a rating of 8/10 (“Great”) on FGL.com, a leading platform for publishing and monetizing Flash games.
  • Trailer: https://www.youtube.com/watch?v=PxiPpPC2lBg
  • Flash, ActionScript 3, Stage3D, Custom Engine (ND2Dx), WorldGameMaker
  • SoundQuest was a 2D social video game developed for Facebook as a promotional campaign for Sony Ericsson. This project marked the beginning of both my ND2Dx 2D GPU-accelerated engine and the creation of the WorldGameMaker editor.
  • Built the entire game engine using Flash + Stage3D, including physics, effects, level editing, collisions, and rendering pipeline, laying the foundation for future tools and projects.
  • Developed highly responsive controls for the player’s dragon character, going through many iterations to get the feel and gameplay experience just right.
  • Created and used the WorldGameMaker IDE for building levels and managing assets, kickstarting a full-fledged development tool that evolved well beyond this project.
  • The game was one of the first large-scale promotional games to use Stage3D and pushed the tech further than most Flash projects at the time.
  • Successfully delivered a smooth, visually rich, and engaging game that was a major success for Sony Ericsson’s campaign.
  • This project was pivotal in my career, not just as a game, but as the start of a broader technical ecosystem that would power many of my later works.
  • VueJs 2, Vuex, Typescript, HTML, CSS, Javascript, Astro, Stylus, Photoshop, Figma, Illustrator
  • SmartCertificate is a secure digital certification platform used to send verifiable documents. I was hired to lead the complete revamp of the platform’s front-end and back-end structure with the dual goals of modernizing the UI/UX and expanding its appeal to a broader audience.
  • Rebuilt the entire front-end application using VueJs 2 and TypeScript, with a strong focus on modularity, maintainability, and a smoother user experience.
  • Led the transition away from a monolithic C# system, proposing a modular architecture and helping split the platform into smaller, more manageable components, while staying flexible to legacy constraints and strict security/privacy standards.
  • Led back-end API development, working closely with our back-end developer to ensure smooth communication between front and back, and a clean separation of concerns.
  • Took on a dual role as Product Owner, actively engaging with stakeholders to align technical implementation with business goals, client needs, and budget realities.
  • Added a complete onboarding flow to help new users get up to speed quickly, including tutorials and in-app guidance to start creating and sending certified documents in minutes.
  • Designed and implemented a dynamic template editor, allowing users to create their own documents directly within the app by dragging and dropping images and text, and using custom variables to make the content fully dynamic. This dramatically reduced manual setup time and improved user satisfaction.
  • Built data import features allowing users to upload Excel or CSV files and map their data to custom variables in templates, making the entire document creation process faster and more automated.
  • Became the central point of contact for the product and dev team: support staff came to me for help with client issues, the back-end developer relied on me for direction, bug solving and front-end integration, and the CEO looked to me for updates and input on product direction. I was the go-to person for anything involving how the product worked and how we should move forward.
  • Delivered two complete, production-ready platform versions that significantly reduced maintenance overhead while improving usability and system stability.
  • Gained deep insight into product ownership, balancing technical vision with business pragmatism.
  • Strengthened my ability to work within tight constraints while still pushing for high-quality results.
  • Developed stronger communication and project management skills through regular collaboration with stakeholders and developers across disciplines.
  • Solidity, HardHat, Truffle, Binance Smart Chain and any other solidity compatible blockchain, Node, Deno, Typescript, Web3.js, Ethers.js, VueJs 3, Pinia, HTML, CSS, Stylus
  • I started developing smart contracts in Solidity out of curiosity and personal interest. Most of my early work was done on Binance Smart Chain, mainly because of its low transaction fees at the time compared to Ethereum. I had several ideas I wanted to try, some inspired by my work at SmartCertificate, where we were already exploring document hashing on the blockchain.
  • Built and tested multiple smart contract concepts using Solidity, deploying to BSC and other EVM-compatible chains to test performance, cost, and design patterns.
  • Used HardHat and Truffle for development and testing, testing how contracts are compiled, deployed, and interacted with.
  • Explored advanced Solidity patterns, like the Diamond Proxy pattern, to enable contract upgradeability, a challenge due to the blockchain’s immutable nature.
  • Connected smart contracts to front-end interfaces using Web3.js, Ethers.js, and VueJs 3 to prototype full-stack decentralized applications.
  • I realized that while the tech was powerful, the user experience and infrastructure at the time weren’t yet ready for mainstream use; especially for non-technical users.
  • Still, this work helped me develop an understanding of blockchain mechanics, from gas optimization to security considerations and deployment tooling.
  • LlamaIndex, Node, Deno, VueJs 3, Stylus, HTML, CSS, Typescript, ChatGPT
  • I started experimenting with ChatGPT and Midjourney about a year ago, mostly out of curiosity, and quickly got hooked by the creative and technical possibilities these AI tools were unlocking. While both evolved rapidly, I also noticed the limitations and started diving deeper into how Large Language Models (LLMs) actually work.
  • Explored multiple LLMs, including ChatGPT and open-source models like Llama 2, to compare their strengths, weaknesses, and potential use cases.
  • Built small tools and assistants to help automate or speed up repetitive task.
  • Developed a prototype HR/recruitment assistant, allowing HR professionals to upload a CV, ask questions about the candidate, and compare the information to a predefined list of job requirements. This helped streamline candidate evaluation using natural language queries.
  • Learned and applied LlamaIndex, a data framework for building LLM-powered apps. Built a document parser that uses segmentation and embeddings to quickly summarize and search through documents.
  • Used Deno for the backend and VueJs 3 for the frontend to build lightweight, responsive full-stack tools.
  • I’m currently working on several personal projects to keep learning, including tools for content generation, summarization, and LLM-powered applications with user-friendly interfaces. My focus is on making AI more accessible and useful in real-world workflows, like hiring or research.
  • Played and still playing around with generative tools like DALL·E and Midjourney (monthly subscription), mostly for visual inspiration and prototyping ideas faster.
  • React, Haxe, JavaScript, HTML5 Canvas, CSS, Custom Brush Engine
  • Contributed a creative, high-performance drawing module to a larger web-based presentation tool. The feature allowed users to sketch directly within the app and embed their creations into slides, bringing a Photoshop-like experience to the browser.
  • I designed and implemented a flexible brush engine offering both standard and experimental tools.
  • Smooth curve drawing with easing, to handle fast mouse movements and prevent jagged lines when fewer points were registered.
  • Custom brushes that mimic Photoshop-style strokes, as well as creative ones not typically found in commercial tools, including brushes that dynamically connect nearby points for a “sketchy” effect, and others driven by noise functions, fluctuating gradients, or procedural patterns.
  • A focus on responsiveness and polish, ensuring the tool felt professional and inspiring to use.
  • This component was seamlessly integrated into the broader presentation platform, expanding the creative possibilities for users and fitting naturally into the existing React-based architecture.
  • https://ludus.one/
  • HTML, Javascript, CSS, CoffeeScript, TypeScript, Haxe, Framer
  • After over a decade of working with Flash, ActionScript 3, and Stage3D, and pushing them to their limits, I finally made the shift to modern web technologies. This role was my deep dive into the world of HTML, CSS, and JavaScript, with a strong focus on creative, animated interfaces.
  • Longines – “H” Website: Developed a fully responsive, mobile-first website for Longines using Haxe-based tools for a very flexible and animated grid layout and smooth, performance-friendly animations layered on top of CSS.
  • Agilytic: Built a mobile-friendly company site with a focus on lightweight animations and visual clarity, again leveraging Haxe to handle both structure and motion.
  • Banking App (Luxembourg): Worked on the animation and transitions of a mobile banking app interface using Framer, focusing on clean motion design and a polished user experience.
  • Various smaller projects: Contributed to multiple other responsive sites and interactive prototypes.

Freelance Game Developer – We Are Tennis Fans

Reed.be
June 2014 to September 2014
Freelancer
Bruxelles
Belgium
  • Flash, ActionScript 3, Stage3D, ANEs, WorldGameMaker
  • We Are Tennis Fans was a promotional mobile game developed for BNP Paribas as part of their sponsorship of Roland Garros. Built as a cross-platform game for both iOS and Android.
  • Developed the full game using Flash + ActionScript 3, with Stage3D for GPU-accelerated graphics and ANEs to integrate native mobile features.
  • Leveraged my custom WorldGameMaker editor to streamline content creation and deployment.
  • Flash Meta Games was a web portal designed to aggregate and showcase Flash games, complete with metascores, user feedback, and game details collected from across the internet.
  • Built a custom Flash game portal using PHP and MySQL, on top of a heavily modified WordPress backend with a fully original theme.
  • Developed a custom web crawler and data collector to scan the internet for Flash games and gather associated metadata, including scores, comments, tags, and other useful stats.
  • Implemented a clean, user-friendly interface where visitors could discover, rate, and play Flash games directly on the site.
  • Focused on performance, metadata accuracy, and content organization to stand out from other generic game portals.
  • This project was part experimentation, part archival effort, a way to explore automation and game discovery.

Total: game contest for IOS (mobile)

Reed.be
July 2014
Freelancer
bruxelles
Belgium
  • Development of the game for IPad 3
  • Flash ActionScript 3
  • Development of a video game in the style of Qix, Xonix and Volfied with new game mechanics and graphics.
  • Noted 8/10 on FGL.com (1st monetization website for web games)
  • Very good comments on Newgrounds.com, one of the biggest game portals on the web (https://www.newgrounds.com/portal/view/644942)
  • Flash ActionScript 3
  • Animations, special effects, sound design.
  • Art based on lostgarden.com
  • Development of the interactive video using Flash Stage3D and ActionScript3.
  • The core idea is the same as for the Prototype. Overlay personalized user images on top of a trailer.
    This one was a bit trickier though as I needed to use complex masking techniques that needed to run at 30 fps in high quality mode.
  • Using WorldGameMaker editor.
  • Development of the Flash game on Facebook and interactive terminal present at Roland Garros
  • Flash ActionScript 3
  • Whole game including animations, transitions, content and special effects
  • Using NodeJs on the backend for game scoring and other verifications
  • Development of a crossplatform application for Android and IOS
  • Developed in Flash ActionScript3 + Stage3D
  • Using WorldGameMaker editor
  • Development of a flash video game (2d engine, logic/mechanics, etc...)
  • Developed in Flash ActionScript3
Company website
  • Development of the promotional website for a blockbuster video game called Prototype, by Activision.
  • The idea was to allow people to connect to the website using their facebook account. The facebook connect feature had just made its appearance. We then integrated people's data (information & pictures) right into the video game trailer. This was probably the first time ever such a thing was being done.
    The website got international attention. Big brands such as Microsoft US contacted us.
  • Flash ActionScript 3
  • Whole website including animations, transitions, content and special effects
  • Flash ActionScript 3
  • Whole website including animations, transitions, content and special effects
  • Flash ActionScript 3
  • Whole website including animations, transitions, content and special effects
  • Flash ActionScript 3
  • Whole website including animations, transitions, content and special effects
  • Flash ActionScript 3
  • Whole website including animations, transitions, content and special effects
  • Flash ActionScript 3
  • Whole website including animations, transitions, content and special effects
  • Flash ActionScript 3
  • Whole website including animations, transitions, content and special effects
  • Flash ActionScript 3
  • Whole website including animations, transitions, content and special effects

Professional Flash Developer for Emakina

Emakina
June 2008 to November 2008
Full-time
Bruxelles
Belgium
  • Flash developer (ActionScrip3, FlexSDK, ...)
  • Development of a matrix screensaver in 3D
  • OpenSource project developed in VisualBasic 6 at the time. It received many awards, notably on Planet Source Code.com.

Other professional experiences

multiples
June 2004 to December 2005
Freelancer
Bruxelles
Belgium
  • Various projects for Digi-Work.be
  • Development of the dynamic side of the Bruylant Group website
  • Realization of the entire Benoît Cerexhe (minister in Bruxelles) personal website
  • 3D video for CIRB (irisnet)