Ongoing

Obsidian Vault Publishing Tool

An Obsidian pluggin to publish notes for free in a few clicks

AI coding agents have considerably lowered the bar for building small products, tools, and plugins that make life a little better. This plugin is an example.

Publishing Obsidian notes as a website is a problem that has established solutions. Obsidian offers a publishing service, Obsidian Publish, but it costs 8$ a month. Alternatively, we can use free tools such as a static site generator like Quartz and hosting on GitHub Pages to achieve a similar result for free. The downside is that we have to understand git, GitHub Pages, configuration, build, etc.

I used the power of AI to bridge that gap and implement a user friendly solution that allows to publish in one click leveraging existing free solutions. The principle is simple: we can automate all of the configuration and technical steps with a plugin and focus on making the experience smooth. While the idea is quite simple, coding this by hand is nontrivial and would take a talented developer a few weeks. With AI, I was able to analyze the technical steps, write specifications, validate the solution, and build a working solution in a few prompts and a few days.

The value here is critical thinking, we can let AI figure out the detail and focus on design and thinking about what brings value.

Tech:
TypeScriptGitHub API

CatSnake Game Preproduction

A game concept in early testing

I resumed work on my cute 3D CatSnake puzzle game, aiming to port it to Unity to streamline production and enter pre-production, building a more realistic prototype with 3D art and validating the concepts with gamers.

Cursor has been surprisingly good at helping me port the prototype, even quite sophisticated features such as undo were reproduced quite efficiently. Of course, it helped that I had the expertise with those systems so I could guide Cursor. Regardless, Cursor is without a doubt well-versed in Unity.

I also used AI to generate art: ChatGPT to generate concept art, inspiration, 2D views of 3D models, and then Tripo3D to turn those concepts into 3D art usable in the game.

I also designed a few more levels, and I am thinking about a testing and marketing strategy to validate the concept before spending more time building it.

Try it, it's cute and actually fun! https://oliver-rust.itch.io/catsnake

Tech:
UnityC#

2025

Experiments with Portfolio Publishing Tools

Form a simple static portfolio generator to a portfolio publishing service.

I built this portfolio and started experimenting with tools for building portfolios. I started building a static website built with Vite and React, and deployed to GitHub Pages. This is the page you are looking at. It's designed to be able to add projects with data while keeping the whole thing static so it can be hosted on GitHub Pages.

The first version was using yml, then I build another version for my psychology student portfolio, using markdown as source data. It can be found at https://olivier-psy.fr

I ended up building a portfolio hosting platform with built in editor. I abandoned the project but it is still live and you can create a portfolio with it!

Check out the live portfolio platform prototype at https://lefolio.fr.

Tech:
ReactNextNodeJS

Hakomi Practice Timer

A solution to a quite specific real world problem

For a few years now, I have been training in Psychotherapy online. During the training, we have practice sessions in groups of 3 where we take turns being the therapist, client, or observer to practice the skills we are learning. In each of these sessions, we have to divide the time equally between rounds, and we also have to take time for breaks into account. In addition, in each round we have dedicated time for practice and for feedback.

This is simple math for distributing time, but I made a small app to help us do it. We can set the total session time, and the app will set the time for each round; then we can launch timers with the set time for each round. As the session goes on, the app recalculates the round for the remaining time to account for any delays.

I haven't used the app yet, but I will this fall as I will be an assistant in a training.

Tech:
ReactCursor

2024

Re-connected.fr

The wordpress website for my psychotherapy practice

I built my first website using WordPress for my small psychotherapy practice. It is a single page and using the basic WordPress template but it does the job. This version is the third iteration of the website. I learned to set up a WordPress website and to host it on Amazon Lightsail. I'm interested in learning more about WordPress.

Tech:
WordpressAmazon Web Services

2023

Game Development in Rust

Study around SnakeBird

A few projects of game development exploring gameplay inspired by the game SnakeBird. I was attracted to learn Rust. I was drawn to its strong type system and elegant syntax. Since making games was my strongest expertise, I played around with the Bevy game engine which I found really usable with an elegant component entity system.

I started with simple terminal games and then explored gameplay inspired by the game SnakeBird. What interested me about this game is that it has a grid logic, like the original snake game, but it also has smooth movement. It's an interesting challenge since the game logic and state is in a discrete grid but we interpolate movements so it feels smooth.

I first implemented a clone of SnakeBird in 2D, replicating the same gameplay, including undo/redo and simple physics. Two of the most interesting systems are the undo/redo system and the renderer used to render the snakes.

Then I extended this game to work in 3D, incorporating novel gameplay ideas on top of the SnakeBird gameplay.

Tech:
RustBevy

2020 - 2021

Editor and Graphics Programmer for the RSX Engine

Professional game engine development role

I worked as a contractor for Abstract to work on their game engine RSX. As I joined the team the engine was already fully functional but needed a lot of polish and bug fixing.

I contributed in a few areas, mainly the macOS platform layer, the rendering of Gizmo in the editor, scene picking and manipulation tools and editor functionalities such as shortcuts, Undo/Redo, etc...

On the macOS layer I made sure the windowing system was working robustly with multiple windows in multiple monitors, and that events were properly propagated to the engine's UI system.

I also wrote and maintained some C# code on the UI scripting layer that was built in the engine. The engine since switched to TypeScript to be able to run the editor on the web.

Tech:
C++C#3D ProgrammingGame Engine Development

2017 - 2019

Tech Programmer at Massive Entertainment

Working on Avatar, Frontiers of Pandora

I worked on the tech team for Avatar project for Ubisoft. I worked on implementing and maintaining tech features for the in-house Snowdrop Engine.

Some of the tech I worked on included the impostor system for tree rendering, a low-res GI fallback system, fog and atmospheric effects, and shaders. Tech art tools, etc....

In that job, I worked closely with tech programmers in my team, with other developers using Snowdrop on other projects, as well as tech artists.

Tech:
C++SnowdropEngine Programming