Skip to content

JulienMastromonaco

Web solutions builder, Node.js & TypeScript

I bridge what people need and the code that answers it. From the first conversation to production, I build web applications that go the distance.

I taught myself to code. Everything else, I owe to other people.

I live in Lyon and work remotely, currently at Secrecy, which publishes a data encryption SDK. Before that came Digimat and its NFT marketplace, where Web2 meets Web3, and earlier still, a medtech company that 3D-printed prostheses.

My craft was forged in the field, within teams, on products in production as well as on my own projects. Yet I do not see myself as someone who only writes code. What I love is grasping what a person expects, putting the right words to it, then making it real.

Outside work, I code in Rust for the pleasure of it, I run a lot and I never tire of the mountains, a world you will also find in OnTrace. Berlin, my old dog, takes up a good part of my free time too. He means the world to me, and every moment by his side is precious.

My next chapter will be more human. I want to bring a team together, champion a product’s vision or lead the commercial relationship with service providers.

Understand first, build second

A good application rarely starts with code. It starts with a conversation, and with genuine curiosity about the person across the table.

  1. Listen

    I start by asking questions. The context, the constraints, the people involved, everything matters before we talk technology.

  2. Understand

    Behind a request there is often a deeper need, sometimes hard to put into words. I look for it, then rephrase it until it is clear to everyone.

  3. Translate

    I turn that need into simple technical choices, and explain them in words anyone can follow, developer or not.

  4. Deliver

    I move forward step by step and adjust with you as feedback comes in, until the result lives up to expectations.

Code is only a means. What interests me is the people who use it.

Background

Since 2017, from the PHP of my early days to the Node.js and TypeScript of today.

  1. 2022

    Current

    Secrecy, Remote

    Node.js & TypeScript developer, since august 2022

    Publisher of an SDK that encrypts and secures data.

    I write Node.js and TypeScript every day, and also look after part of the CI/CD.

    • Node.js
    • TypeScript
    • CI/CD
  2. 2022

    Digimat, Remote

    Node.js & TypeScript developer, feb. to aug. 2022

    NFT marketplace.

    The same Node.js and TypeScript foundation, plus the exchanges between a classic web application and the blockchain.

    • Node.js
    • TypeScript
    • CI/CD
    • Web3
  3. 2018

    OneOrto, Saint-Genis-Laval

    Junior developer, oct. 2017 to jan. 2018

    3D printing of prostheses and tooling kits.

    I added features to the company’s CRM, fixed its bugs, optimised it as a whole and ran database migrations.

    • PHP
    • Symfony
    • MySQL
  4. 2017

    Clickdev, Lyon

    Developer, mar. to jul. 2017

    A first team project, in scrum. A complete intranet, from database design to user and admin accounts, through support tickets and a vote to prioritise what came next.

    • PHP
    • Symfony
    • Scrum

Skills

Tools change, and so does the way I use them. Today, coding agents assist me daily, in an agentic workflow.

Node.js
The heart of my working days, in production at Secrecy.
  • Since 2017
TypeScript
How I write JavaScript, clearer to read and safer to evolve.
  • Typed end to end
Rust
To see what happens under the hood, with the rigour the language demands.
  • Open source
Data
  • SQL
  • NoSQL
  • KV
Web3
  • NFT
  • Web2 and Web3 integration
DevOps
  • Bash
  • Docker
  • CI/CD
Interfaces
  • React
  • Tailwind
  • shadcn/ui
  • HTML
  • CSS
  • Sass
  • Pug
Design
  • DDD
  • Hexagonal architecture
  • Event-driven
  • Event sourcing
  • Clean code
Tooling
  • Versioning
  • Bundlers
  • Runners
  • Linters
  • Transpilers
  • Testing
Systems
  • Debian
  • Ubuntu
  • Kubuntu
Method
  • Agentic workflow
  • Scrum

What I take care of

Testing
I test what I ship, so that everyone sleeps well after a release.
Documentation
I write the documentation I would have liked to find when joining a project.
Maintainability
A clear architecture, hexagonal above all, and clean code, so an application can grow without being rewritten.
Learning
I read, experiment and exchange ideas a lot. That is how I learned, and I have never stopped.

Personal projects

What I make when nobody asks me to. A web application to prepare mountain outings, and a Rust library.

OnTrace

Every water point on your route, before you leave.

Import a GPX file and OnTrace places the water points, huts and supplies along your route, with the kilometre mark of each. Then share the route to prepare it with your team.

  • React
  • Tailwind
  • shadcn/ui
  • Mapping
  • GPX
  • Hiking
OnTrace screenshot, a 137 km route on the map, with the list of places and the elevation profile.OnTrace screenshot, the page of a fountain with the team’s comments.OnTrace screenshot, bivouac zones drawn on the map, in green and red.
let ip = Ipv4Addr::new(192, 168, 0, 22);
let network = Ipv4AddrNetwork::try_new(ip, 24).unwrap();
assert_eq!(Ok(network), "192.168.0.22/24".parse());

let first = Ipv4Addr::new(192, 168, 0, 0);
let last = Ipv4Addr::new(192, 168, 0, 255);
let range = Ipv4AddrRange::new(first, last);
assert_eq!(Ok(range), "192.168.0.0-192.168.0.255".parse());

net-adds

IP ranges, networks and iterators for Rust.

A Rust library to represent IPv4 and IPv6 ranges and networks, parse them from text such as 192.168.0.22/24, then iterate over them, ports included.

  • Rust
  • IPv4
  • IPv6
  • Open source

Let’s talk

A team to grow, a product to imagine, or simply a question? Write to me and I will reply personally.

contact@jumastro.xyz

View my CV

Send me a message

Your information is used only to reply to you. Learn more