Marin de Vanssay

solo developer · nantes, france · engineering student at IMT Atlantique

01cv

One page. Click it to read it full screen.

pdf download

CV of Marin de Vanssay, one page

02about

Who I am and what I'm on right now.

Engineering student at IMT Atlantique. I like building things that work end to end: a line-following robot, a home-made 3D scanner, a COVID risk calculator, and a set of web products I run on my own under the name Vanssay, from the backend and billing to the support mail.

Right now: getting Framefly in front of beta testers. Posting what I build, and what it earns, on X.

03vanssay

Framer and Webflow plugins I build and run on my own. I chose how they are structured and built them with AI coding assistants. Production is mine (the VPS, Docker containers, deploys, databases, backups), and so is the customer side: billing, invoices, support mail, marketplace submissions.

Reviews

[live]

Framer plugin · marketplace · site

Pulls a business's Google and Trustpilot reviews and drops them on a Framer site as a native component, with one rating averaged across both platforms. The widget matches the site's fonts and colors, and the reviews keep syncing server-side, so the site owner never handles an API key. The first Vanssay product, and the one that made the first sale (July 2026).

Reviews plugin layout step, previewing a shop's Google reviews in a Feature layout, reviewer names blurred
fig. 1: picking a layout for a shop's real Google reviews (names blurred)

Instagram Feed

[live]

Framer plugin + Webflow app + web app · marketplace · instagram.vanssay.net

Paste a public Instagram handle, pick one of seven layouts, and the feed lands on your site and keeps itself up to date. No Instagram login. Same backend behind three front ends: the Framer plugin, a Webflow app ("Social Feed"), and a web version that gives you one snippet for any site builder.

Instagram Feed plugin start screen
fig. 2: the plugin's start screen

Bouncer

[live]

Framer plugin · marketplace · site

Blocks visitors by country, or lets only some countries in, and spots VPN and proxy traffic. Blocked visitors get a block screen styled like the site. Countries are resolved from a local GeoIP database, so most checks never leave the server.

Bouncer plugin country picker
fig. 3: picking countries to block

Router

[live]

Framer plugin · marketplace · site

Sends each visitor to the right page by country, region, language, device or VPN, or just suggests it with a banner they can dismiss. Rules run top to bottom and are decided server-side, so they change without republishing the site.

Router plugin redirect rules list
fig. 4: redirect rules

smaller things

how they are put together

Every product sits on one shared accounts service: one login across all of them, one Stripe setup, one invoice series. Each product is a small service of its own next to it.

framer / webflow editor ──► plugin ──┐
published sites ─────► embed script ─┼──► product APIs (reviews, bouncer, router, ...)
vanssay.net (static) ────────────────┘       │
                                             └─► accounts: login + stripe billing
                       one VPS · docker compose · postgres per service

04code I wrote

School and personal projects where the code is mine, newest first.

LethalBOT

[2025–2026]

PRONTO project, IMT Atlantique · team of 5 · project site · code

A transport robot that carries a 2 kg load along a black line, guided only by a 40 × 30 pixel camera, on a Raspberry Pi Pico W. I wrote all of its code. Each row of the image gets its own black/white threshold, a linear regression through the black pixels gives the line's offset and angle, and both steer the two wheels.

The gear motors stall below about 20% power, so the final version drives them in 150 ms pulses (macro-PWM) and measures that dead zone itself at start-up with the wheel encoders. CircuitPython, with an OLED status screen and a PC tool to watch the camera feed over USB.

The finished LethalBOT on a scale reading 1.778 kg
fig. 5: the finished robot, 1.78 kg
Raspberry Pi Pico W wired to the camera on a breadboard
fig. 6: the Pico W wired to the camera

Contact-based 3D scanner

[2024–2025]

TIPE at Fénelon Sainte-Marie (CPGE, Paris) · team of 3 · slides (in French) · code

A home-made 3D scanner modelled on an atomic force microscope. A tip rides over the object and tilts a mirror; a laser bounces off the mirror onto a row of six photodiodes, and which one lights up gives the height at that point. Stepper motors move the object under the tip point by point, on a wooden frame driven by two Arduinos that signal each other.

Heights are calibrated against a reference ramp with k-nearest neighbours, then drawn as a triangle mesh in OpenGL. A scan takes 4 to 5 hours for about 15,000 points, with a measured uncertainty of 180 µm. I wrote most of the code, in C.

3D sketch and photo of the wooden scanner frame with motors, tip, photodiodes and laser
fig. 7: the scanner, sketch and real build
Scanned mesh of LEGO bricks above a 3D model of the same bricks
fig. 8: a scan of LEGO bricks (top) against a model of the real bricks (bottom)

RoomSafe

[2021–2022]

European School of Brussels I · team of 2 · 3rd place, International Science Festival of European Schools · code

A web app that estimates the risk of COVID-19 airborne transmission at an indoor event before it happens. The host enters the room size, ventilation, filtration, humidity, guest count, duration and mask use, and gets a score out of 10 plus a graph of how many guests, for how long, stay in the safe zone. Guests can then join the event with their own details and the score updates.

The risk model treats the room air as well mixed: virus-carrying droplets build up from an infectious guest and are removed by ventilation, filtration, settling to the floor and the virus decaying over time. Built with Python, Flask and SQLite.

RoomSafe event page with a score of 8 out of 10 and a graph of safe guest counts against duration
fig. 9: an event's RoomSafe Score, with the safe zone in green

05in progress

Built, not public yet.

Framefly

[private beta]

AI agent that films demo videos · framefly.app

You connect your web app and it gets explored once by an AI agent driving a real browser. From a short brief it then writes a script, films real actions in your app (no mockups), adds captions and music, and renders a demo or launch video. I built the agent, the render pipeline and the editor.

Framefly home screen with video templates
fig. 10: the app's home screen

Maintenance Mode

[coming soon]

Framer plugin · site

Puts a Framer site behind a maintenance page while you still see the real site from your own IP. On and off is a server-side switch, so it takes effect instantly, without a republish.