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
-
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
-
-
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
-
-
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
-
Oct 23 MIUP 2023 (Portuguese ICPC) Contestant, ICPC Coimbra, Portugal
-
Feb 23 SWERC 2023 Contestant, ICPC
Milan, Italy -
Oct 22 MIUP 2022 (Portuguese ICPC) Contestant, ICPC Coimbra, Portugal