BSc Computer Science student, HE-Arc

Yanis Amani

From the pixel to the register.

I build every layer of the stack: websites, full products, programming languages, a JavaScript engine, and a Windows emulator for Apple Silicon.

About

My name is Yanis Amani. I'm pursuing a BSc in Computer Science with a major in Software Engineering at HE-Arc in Neuchâtel, Switzerland.

In 2023 I wrote JadeFlow, my first programming language, because I just wanted to understand how languages work. Understanding one layer exposed the next one down, so I kept digging: compilers, virtual machines, a JavaScript engine, then the instructions themselves.

I care about the boring stuff. Good error handling, clean interfaces, code that's still readable six months later. I've broken enough things in production to know that "it works on my machine" is not a testing strategy. These days I'd rather go slow and get it right.

At a glance

Based in
Neuchâtel, Switzerland
Studying
BSc Computer Science, Software Engineering major, HE-Arc
Main tools
Rust, TypeScript
Cares about
Reliability, performance, security

Stack

Languages and tools I reach for, strongest first.

Languages
Rust, TypeScript, Python, C / C++, Java & C#, PHP
Frontend
React, Next.js, Astro, Solid.js
Backend
Node.js, Docker, Kubernetes
Data & Storage
Supabase / PostgreSQL, SQLite
Systems
Systems Programming, Concurrency / Multithreading, Compiler Design

Product

Complete applications: accounts, data, background jobs.

Web Application

MangaReader

A self-hosted manga library in Rust. It syncs chapters from several sources, merges them into one series, and serves a fast reader with accounts and synced progress. Runs on a Raspberry Pi 4.

1 + 1
one Docker container, one SQLite file
Full-Stack Marketplace

Ghaiari

A car-parts marketplace for Libya, live at ghaiari.com. React Native mobile app for buyers, Astro web dashboard for sellers and admins. Supabase backend with vehicle compatibility, wallet payments, order management and push notifications.

Language

How code becomes meaning. This is where it started, in 2023, and I never stopped.

Compilers & Runtimes

YatsuScript

My own scripting language and the register-based VM that runs it, with NaN-boxed values, a generational GC, closures, pattern matching and async/await. It has a language server, and a WebAssembly playground you can try in the browser.

Five languages since 2023

  1. 2023 JadeFlow The first one, to understand how languages work.
  2. 2023 ComfyScript A language designed to be comfortable to write.
  3. 2024 Aspen A simple scripting language.
  4. 2025 Lira A beginner-friendly language that teaches how code becomes meaning.
  5. 2026 YatsuScript Register VM, generational GC, async/await, its own language server.

Runtime

What executes that meaning: bytecode, objects, garbage collection, a JIT.

Compilers & Runtimes

v12

An embeddable JavaScript engine for Rust apps, with no V8 or QuickJS underneath. The runtime is my own: register-based bytecode, NaN-boxed values, hidden classes with inline caches, a mark-sweep GC and a Cranelift JIT. The oxc crate handles parsing.

1,414
tests passing, measured 6 Oct 2026
77.6%
of the Test262 language suite passing

Machine

The bottom. x86-64 instructions rewritten as ARM64 while the program runs.

Emulation & Systems · Co-developer, WIE Project

WIE

A user-mode x86-64 emulator that runs 64-bit Windows programs on Apple Silicon macOS. A Cranelift block JIT translates the code, Rust handlers answer the Win32 API, and GUI apps open real Cocoa windows. Includes a Direct3D 9 software renderer.

Notepad
real Windows binary, with menus and printing
7-Zip
creates and extracts real .7z archives
0
Wine, virtual machines or Windows installs needed

00 Bottom of the stack

End of the descent. Say hello.

Got a project, an idea, or a low-level problem you want to talk through? I'm around.