I build small things that make big ideas visible.

A lambda calculus you can watch reduce. A database you can poke at with SQL. A LaTeX editor that keeps your files on your own disk. Online games, a recipe app and a crafting table. Almost none of it has a build step, and almost none of it needs a server.

β-reduction plus 2 3

λm n f x. m f (n f x)

    Three lines, and you can already read one.

    1. A horizontal bar is a function.
    2. A vertical line dropping from it is the variable it binds.
    3. A bar underneath joins a function to its argument.

    That is the entire notation, and it is enough to draw every program that has ever been written.

    • Identity

      λx. x

      Takes a thing, hands it straight back.

    • True

      λx. λy. x

      Takes two, forgets the second. Also true.

    • Substitution

      λx. λy. λz. x z (y z)

      With K, enough to express anything computable.

    • Fixed point

      λf. (λx. f (x x)) (λx. f (x x))

      How a language with no names writes a loop.

    • Omega

      (λx. x x) (λx. x x)

      Reduces to itself. Runs forever, on purpose.

    • Three

      λf. λx. f (f (f x))

      A number, written as "do something three times".

    The big one

    Tromp Diagrams

    A whole site for looking at lambda calculus instead of only reading it. Type an expression, watch it become a diagram, then watch the diagram evolve. Twelve pages of it, in plain HTML, CSS and JavaScript: no build step, no package manager, no backend, and no dependency on anything outside the folder.

    Visualizer

    The main tool. Several β-reduction strategies side by side in multiple panes, your own definitions, shareable URLs, and export to PNG or WebM so a reduction can leave the page as a video.

    Play

    You get the diagram. You guess the expression.

    Tree

    Several strategies advanced in parallel, so you can see where they branch and where they meet again.

    Encodings, combinators, halting, history

    Reference pages that carry their weight: an encoding lab for naturals, booleans, pairs and both Church and Scott lists, a combinator zoo with diagrams, a step-by-step walk through the halting problem, and where all of it came from.

    Learn

    Guided lessons from variables and abstraction up through booleans, pairs, numerals and lists.

    God mode

    A headless reducer that skips the drawing entirely and just runs, for big expressions that take thousands of steps.

    Achievements

    Because I can, and that's all I need.

    Let me ask my best friend.

    I say this a lot, and yes the best friend is either ChatGPT or Claude, and while most people don't agree with me, I still believe using AI in your everyday life isn't harmful.

    In fact, most of what is on this page was built with AI. That is not a shortcut, or at least not the kind people mean. The parser still has to parse. The reducer still has to reduce. Nobody else is around at two in the morning when something breaks, so I still have to understand every line well enough to fix it.

    What changed is how quickly an idea turns into a thing you can click on, and as someone who has a lot of ideas, what a relief !

    Where it started

    A crafting table, in Terminale.

    The first thing I built that had a schema, a route and a template which all had to agree with each other: a crafting table in Flask, backed by SQL, rendered through Jinja2.

    So here is one made out of the things I have used since. Put materials in the grid and it hands you back a project.

    The repository is private, so there is nothing to link.

    emyot.fun

    Online games, no install, no account, no way you finish any of them.

    For real, they are really hard, pretty much impossible.

    Coreloom

    A programming puzzle. Place chips, wire their ports, and write assembly that turns one stream of numbers into another. Twenty-three assignments.

    The Shifting Mansion

    Top-down horror exploration. A cursed house that rearranges itself every night, across five nights. Honestly kinda trash gameplay.

    The Drowned Lexicon

    Decipherment. Ninety signs of a dead script and no dictionary: work the language out from the clay tablets alone. Every seed generates a different language.

    Decay Heat

    A reactor control room on the night shift. Analogue panels you have to turn your head to read, thirteen ways a night goes wrong, and a plant simulated honestly enough that the faults cascade on their own.

    Detour

    A 1v1 tactical race on a 9×9 board. Move one step, or place a wall to lengthen your opponent's route.

    Open the shelf

    Not all of it is a lambda.

    Six other things, in six other directions. One of them ships as an installer, one of them runs a village at night, and one of them is a flappy bird from a tutorial.

    Sheaf

    A LaTeX editor that never takes your files anywhere. The project stays as ordinary folders on your own disk and compiles with the TeX distribution already installed on the machine, so nothing is uploaded and nothing is locked in. Electron, TypeScript and React, with two runtime dependencies in the whole application.

    Loups-Garous

    Thirty-nine roles and thirty-five painted cards, in French, for the game that normally costs one person their evening. Around a table the phone goes round and deals. Online, the site itself takes the night: it calls each role in private, applies the powers, resolves the deaths and counts the votes, so the game master gets to play too. Nothing secret travels on the shared channel — every player has a second one that is only theirs.

    Not published yet. The art is mine, the night is long.

    EasyCookAI

    The model is not a chatbot bolted on the side: it finds recipes on the real web, imports them, rewrites them when you ask, and rides along while you cook.

    SkillSwap Hub

    Trade skills, not money. The entire backend is http.server and sqlite3 — a working platform with nothing to install.

    TODO

    Folder, then file, then task. A Node server of no dependencies that saves everything as real files, readable with or without the app.

    Flipy Bloup

    A flappy bird, from the Unity tutorial, in 2025. It is on this page because everyone starts somewhere and pretending otherwise would be silly.

    SeQuenceLab

    Everything, as a query.

    One of these is a small lab for exploring databases with SQL in the browser, so it only seemed fair to let it introduce the rest.

    name made_of where_it_lives
    Sheaf Electron, TypeScript, React A local-first LaTeX editor. Projects stay as ordinary files and compile with the TeX distribution already on your machine.
    Loups-Garous HTML, CSS, JS Thirty-nine roles, and the site can run the night itself.
    EasyCookAI HTML, CSS, JS A recipe app where the model finds recipes on the real web, imports them, rewrites them on request, and rides along while you cook.
    TODO HTML, CSS, JS, Node Yes, I made my own TODO app. A tiny zero-dependency server that persists everything as real files you can read without the app.
    emyot.fun JavaScript The games shelf. Only a few games but a lot of hours of gameplay available.
    Coreloom JavaScript Wire up chips, write assembly, twenty-three assignments.
    Decay Heat JavaScript A reactor night shift, simulated honestly enough to cascade.
    The Drowned Lexicon JavaScript Ninety signs, no dictionary, a new language every seed.
    The Shifting Mansion JavaScript A house that rearranges itself, five nights running.
    Detour JavaScript Quoridor-style tactical game.
    SeQuenceLab JavaScript, SQL Explore a database with real SQL in a browser tab. Local first, then rebuilt so it could be hosted with no server behind it. Made primarily for school.
    SkillSwap Hub Python stdlib, SQLite Trade skills, not money. A peer-to-peer learning platform whose entire backend is http.server and sqlite3. No pip install.
    The Mansion Unity, C# The original: a mansion with bossfights. Later reborn in a browser as The Shifting Mansion.
    Tromp Diagrams HTML, CSS, JS Lambda calculus, drawn. The one this whole page is built out of.
    Flipy Bloup Unity, C# A flappy bird, from the tutorial. Everyone starts somewhere.
    HTML Crafting Table Python, Flask, SQL, Jinja2 Where it started. Private repository.

    16 rows · nothing installed in eleven of them

    Roughly in order.

    From a school project to a desktop application.

    1. Jan 2025 HTML Crafting Table. Flask, SQL, Jinja2. A school project that got out of hand.
    2. Sep 2025 Flipy Bloup. A flappy bird, from the Unity tutorial. My first thing with a game loop in it.
    3. May 2026 Tromp Diagrams. Lambda calculus, drawn. The one I keep coming back to.
    4. Jun 2026 SeQuenceLab, then a browser-only rebuild of it a day later. Detour the same month.
    5. Jul 2026 emyot.fun. The games stopped being scattered and got a home.
    6. Aug 2026 EasyCookAI, and Sheaf, the first one that ships as a real installable application, on Linux and Windows.

    About

    Hi, I'm EmyoT.

    I like ideas that turn out to be simpler than they look, and I like being able to see them work. That is most of what is on this page: a calculus with three rules that can compute anything, a database you can ask a question in a sentence, a crafting grid where the whole game is which square you put things in.

    I build nearly all of it without a framework, a build step or a package manager. Not out of principle, but because I want to still understand it a year from now, and because a folder of files will open on any machine for as long as browsers exist. Most of it happens at night.

    If you got something out of one of these, or found something broken, or just want to argue about whether Omega should be allowed to exist, write to me.

    • 16projects on this page
    • 11with nothing to install
    • 3scripts behind this site
    • 2025the first one that counted