Skip to Content

Leonardo Santos

Computer Science and Engineering @ UBI

Dedicated college student, eager to learn and apply my skills in internship positions.

About

Welcome to my personal space! I have a passion for functional programming, category and type-theory, and all that is adjacent.

While working at Tarides for the summer of 2024, I developed a pipeline for automating Radiocarbon dating for scientists at EPHE and PSL, available at radiocarbon.ci.dev

On my free time I contribute to various open-source projects!

Some of my contributions include the OCaml standard library, various Nix packages, and some OCaml tooling :).

I am very interested in type-systems, interpreters and compilers. A year ago I wrote an (unfinished) type-inferred interpreted language that has a cool Hindley-Milner Implementation.

Because Chaos Theory is awesome, I wrote an unusual encryption/decryption algorithm that leverages its advantages for cryptography that you might find interesting.

When I’m not at the computer, I’m usually either listening to music, or playing guitar!

Experience

  1. Jun 24 - Sep 24

    · Developed an innovative pipeline to automate the calibration and analysis of hundreds to thousands of 14C dates from soil charcoal samples.

    · Extended Tarides’s OCurrent platform to support reproducible builds and Nix environments, making it compatible with any existing Nix-based Continuous Integration system.

    · Reduced scientists’ workload from approximately 7-14 days per dataset to under 60 seconds, enhancing productivity and efficiency significantly.

    • OCaml
    • Consensus Protocols
  1. Jan 24 - Jun 24

    · Created Lupin, a Domain-specific language (DSL) developed with the goal of creating, analyzing, testing, and comparing consensus algorithms in an easier, more streamlined way.

    · Developed the semantic analyzer for the language, which takes inspiration from the Calculus of Communicating Systems.

    • OCaml
    • Consensus Protocols
    • Calculus of Communicating Systems
  1. Jul 22 - Sep 22

    Created and translated exercises for the Learn-OCaml platform, as well as designed and revised the black and white box tests used for the grading of the exercises.

    • OCaml
    • Web Apps
    • Client Server
    • Functional Programming
    • Software Testing
    • Black-box testing
    • White-box testing

Projects

  • Feb 24 - Present

    Strange Cipher · Encryption/Decryption algorithm

    An encryption/decryption algorithm based on Lorenz's Strange Attractor, with WebSockets for communication.

    • Rust
    • Cybersecurity
    • Cryptography
    • WebSockets
    • Chaos Theory
    • Nonlinear Dynamics
    • Diffie-Hellman
  • Nov 23 - Jan 24

    Money · Mobile App

    A budget management mobile application for a construction company.

    Features 3 types of users, with different types of management options for each. Workers can be assigned tasks or ask for materials, Contractors can manage stock and assign tasks, budgets and more.

    • Flutter
    • Dart
    • Supabase
    • PostgreSQL
    • Budget Management
  • Nov 23 - Jan 24

    Solar System · OpenGL Simulation

    A Simulation of our Solar System made with OpenGL, with a couple interesting features like a day and night cycle, clouds, lens-flares, ambient music, bloom and more.

    • OpenGL
    • C++
    • ImGUI
    • CMake
    • Post-processing effects
    • GPU Instancing
  • Jul 23 - Sep 23

    zaml · General purpose language

    Statically typed, Hindley-Milner inferred generic purpose language.

    • OCaml
    • Interpreters
    • Type-Systems
    • REPL Implementation
    • Programming Language Design
    • Lexing
    • Parsing
    • Unit Testing and QA
  • Apr 23 - Jun 23

    Soundscapes · Web App

    Soundscapes searches Spotify for playlists that fit your mood. Interactive website developed in Elm (frontend), OCaml (backend).

    • OCaml
    • Elm
    • Spotify API
    • PostgreSQL
    • REST API
  • Apr 23 - Jun 23

    Sentimentalyst · Desktop App

    Sentimentalyst analyzes your text for the sentiments it conveys, and its Parts of Speech.

    • Java
    • JavaFX
    • UI/UX Design
    • Sentiment Analysis

Open-Source Contributions

  • Jul 23

    LaTeX Integration for MDX · Real World OCaml

    Added LaTeX support to mdx, a tool that allows execution of code blocks inside markdown and mli/mld documentation to help keeping them up to date.

    • OCaml
    • Parsers
    • Lexers
    • Unit Tests
    • FOSS

Awards

Thank you for reading my resume. You are free to shoot me a message in any of my social media.