Skip to content
Loïc Ortola

Projects

Things I built on evenings and weekends: web apps, games, hardware, libraries and training material.

DécouPano
Free online cutting plans for wood panels, from your first cabinet to a whole kitchen.

DécouPano plans panel cuts in the browser, for free and without an account: enter your panels and parts, or describe a cabinet or a drawer by its overall dimensions, and it builds the cutting plan, the list of panels to order and a 3D preview.

It doesn't hand you just one plan: it compares several on price, number of cuts, offcut area and largest reusable offcut, and flags the best one. Edge banding, saw kerf, grain direction and every common panel type (melamine, MDF, plywood, chipboard, solid wood) are supported. The site is in French.

Next.jsReactVisit
Cutting plans laid out in 3D on the DécouPano home page
Cutting plans laid out in 3D on the DécouPano home page
Designing a tall cabinet by its overall dimensions
Designing a tall cabinet by its overall dimensions
Surroundify
A self-hosted spatial audio player: build a room, place your sounds in it, drive it from your phone.

Surroundify turns the computer wired to your speakers into a spatial audio player. Describe your room once, drag each speaker to where it really stands, then place every layer of a soundscape where you want to hear it: a forest with the stream on your left, rain outside every window.

It works with whatever you own, from a built-in output to an 8-output USB interface, an HDMI receiver or a Bluetooth speaker. Any phone on the network is the remote, with nothing to install. No cloud, no telemetry, no account: it installs with one npx command and runs on macOS, Linux and Windows.

Next.jsReactNode.jsSQLiteWebSocketsffmpegVisit
The Surroundify home page
The Surroundify home page
A 5.0 living room with wind, stream and birds placed around the listener
A 5.0 living room with wind, stream and birds placed around the listener
Homex
Room automations for Home Assistant, built from one panel, without YAML.

Homex is a Home Assistant integration that turns each room into a switch, a light group and native scenes. Wall switches, remotes and roller shutters are wired up in a few clicks from a single sidebar panel, and you never open a YAML file.

Every room and group gets plain, predictably named entities you can use in dashboards, voice assistants or your own automations. It runs entirely on your own instance: no cloud service, no outside network calls. Free, with its source on GitHub, and installed through HACS.

Home AssistantPythonTypeScriptVisit
Room switches driving the lights and shutters of a floor plan
Room switches driving the lights and shutters of a floor plan
The Homex panel in Home Assistant, with a room's lights, switches and shutters
The Homex panel in Home Assistant, with a room's lights, switches and shutters
Deadlock
An open-source coding and hacking game platform.

My biggest project. Deadlock is the first open-source coding and hacking game platform. The goal: reinvent the way people learn computer science, and the way companies find their new recruits.

Want to take part? Send me a message. Want to try it? It's live.

JavaJavaFXSpring BootDockerAnsibleReactReduxWebpackSassVisit
Deadlock player dashboard
Deadlock player dashboard
Deadlock story hall
Deadlock story hall
Takahoot
A physical, Nerf-proof controller for Kahoot quizzes.

Kahoot is a great quiz platform, mostly used in education. For Takima we wanted a better, cooler controller than a phone, so we made Takahoot: a physical target that plays Kahoot like a normal player and is triggered by a nice shot from your favourite Nerf gun.

Everything was made from scratch: 3D STL models, 3D-printed and laser-cut parts, an Arduino controller speaking a simple serial protocol, and a friendly Electron and Angular client.

ElectronAngularWebSocketsSolidWorksArduinoVisit
The Takahoot box
The Takahoot box
Takahoot triggers before mounting
Takahoot triggers before mounting
Blindtest Live
Live blind tests for 500 people, with a real-time app.

I love playing live music, and with some friends we came up with a concept: live blind tests. Guessing is easy and fun with 20 people. Not so with 500.

So we built an app to answer live, play jokers and follow the leaderboard, while everyone sings their favourite songs out loud. Come and join us at a concert around Paris: the band is The Bold Heads.

JavaSpring WebFluxNettyFirebaseAngularAnsibleWebSocketsVisit
Blindtest Live player app
Blindtest Live player app
Blindtest Live leaderboard
Blindtest Live leaderboard
IoT projects
Libraries and hardware from my Fablab evenings.
  • SSDP Java client: asynchronous, lightweight and bullet-proof, because I couldn't find a good one.
  • JSON-RPC 2.0 Java client: a full, lightweight implementation, compatible with Java 6+ and available on Maven Central.
  • nodemcu-espress: a memory-efficient Lua HTTP server for NodeMCU and ESP8266, with a Node-like, middleware-compatible API.
  • LED controller: an end-to-end 5050 LED controller with PCB, hardware list, firmware and Android app.
C++PCBLuaJavaAndroid
Remote control app for the LED controller
Remote control app for the LED controller
LED controller PCB v1 and v2
LED controller PCB v1 and v2

More on GitHub

Student trainings
Hackathon-style Java and JEE projects for university students.

Code review scheduler (1 week), Mood of the month (1 week), Room booking (2 weeks), CV administration (2 weeks).

Hands-on training material
Workshops you can run on your own.
Little Bob
Random name and sentence generator for Java, in English and French.
This website
A statically exported Next.js and shadcn/ui site, rebuilt from a 2018 React and Redux one.
Other contributions
Android libraries, Gulp plugins, a NodeMCU library, a Spotify Java API for Docker, a dashboard TV, and more.