Filippo De Simoni

a glimpse into my Mathematics & Computer Science

Scroll

About

MSE student, Computer Science

Passionate about Mathematics and Algorithms in all their forms: from linear algebra in computer graphics to discrete math, optimization, and operations research.

Lugano, SwitzerlandLooking for a job

Domains

  • Algorithms
  • Optimization
  • Computer Graphics
  • Machine Learning
  • Discrete Math
  • Systems Programming

Experience

  1. 2023 - now

    Co-Founder & Full Stack and DevOps Developer

    Outzone, Lugano

    Server-side architecture, REST APIs, and data management

  2. 2024 - now

    Peer Tutor (Formal Collaborator)

    SUPSI, Lugano

    Tutoring in CS and Mathematics under collaborator contract

Education

  1. 2026 - now

    MSE Computer Science

    SUPSI, University of Applied Sciences and Arts of Southern Switzerland, Lugano

    Master of Science in Engineering in Computer Science

  2. 2022 - 2026

    BSc Computer Science Engineering

    SUPSI, Lugano

    GPA 5.27 / 6.0, 180 ECTS

  3. 2017 - 2022

    Scientific High School Diploma

    Liceo Scientifico A. Pacinotti, La Spezia

    Final grade 100/100

  4. Summer 2025

    Introduction to Metric Spaces

    MIT OpenCourseWare, online

    Self-directed study of topology and real analysis

Interaction

My vision of information

Three kinds of interaction, three ways I create information.

  • Rational mind

    knowledge, projects

  • Emotional mind

    composition, personal log

  • World

    tasks, training

Selected work

Projects

How each project is labelled

Idea

  • Novel

    Novel work, focus on new ideas not implementation.

  • Path

    Done for the path, not for the product: an existing idea I chose to walk through.

Work

  • By hand

    Pure hand work.

  • Assisted

    I give the specification, the LLM translates it into code.

More on this in When I delegate, when I don't.

  • STARTRESULT

    Software Representations & Optimization

    NovelAssisted2026

    High performance computing (HPC): Novel Algorithm for automatic parallelization of C programs. Speedups comparable with ad hoc parallelization, outputs verified bit-identical.

    • Bachelor Thesis
    • High Performance Computing
    • C
    • OpenMP
  • M1M2M3makespan

    Machine Scheduling: Configuration LP

    NovelAssisted2025 - 2026

    Empirical and theoretical approaches for identical machine scheduling conjecture of half-integrality, with a PhD candidate and a postdoc.

    • Semester Project
    • Linear Programming
    • Approximation Algorithms
    • Configuration Linear Program
  • Higgs Boson Signal Detection

    PathBy hand

    An end-to-end machine learning pipeline for Higgs boson signal detection following the machine learning course.

    • Machine Learning
    • Jupyter
  • mask

    Retina Blood Vessels Segmentation

    PathBy hand2025

    Segmentation of blood vessels in retina images: a patch-based CNN first, then a U-Net-like fully convolutional network in Keras, with data augmentation and evaluation on test masks.

    • Computer Vision
    • Deep Learning
    • Keras
  • LRSTEREO

    3D Graphics Engine

    PathBy hand

    A 3D graphics engine in C++ with a stereo mode for VR, used to build a playable 3D Tower of Hanoi game where the discs are moved with a Leap Motion and stylized hands are drawn on screen.

    • C++
    • GLM
    • FreeGLUT
    • VR
    • Leap Motion
  • Graph Dynamic Programming

    PathBy hand

    Optimization on graph structures and complexity analysis.

    • Algorithms
  • t0t1t2t3mutex

    C Threads Library

    PathBy hand

    A threads library in pure C, with creation, synchronization and scheduling.

    • C
    • Systems Programming
  • P = 1/8

    4 points on Sphere

    NovelBy hand

    Formal proof that the probability of a sphere's center lying inside a tetrahedron formed by 4 random surface points is 1/8.

    • Mathematics
    • Geometry
    • Probability
  • all pointsselected

    Smart Regression

    NovelBy hand2024

    Automatic parametric selection of data to remove outliers and create an enhanced regression model.

    • Linear Regression
    • Python
    • Noise Removal
  • ❯~/dotfiles❯

    Arch linux Rice

    PathBy hand2022-now

    Customized Arch Linux + Hyprland configuration dotfiles optimized to study and work with proficiency.

    • Shell
    • Hyprland
    • Lua
  • Pac-Man

    PathBy hand2022

    A recreation of Pac-Man arcade game in pure Python and Processing IDE, with automatic generation of the maze and different levels of difficulty based on the intelligence of the ghosts.

    • Python
    • Processing IDE
  • Arkanoid

    PathBy hand

    A recreation of Arkanoid arcade game in pure Python and Processing IDE, with custom power ups and game modes.

    • Python
  • Start-Up Outzone

    NovelAssisted2023 - now

    Backend development for the Outzone start-up.

    • Co-Founder
    • Backend
  • texttokenvectorclassscore

    NLP school project

    PathBy hand

    Natural language processing pipeline of text multi-class classification from data extraction and data cleaning to training and model evaluation.

    • Jupyter

When I delegate, when I don't

Upcasting and downcasting

I treat LLMs like translators. Ideally, most of the work an LLM does is translating the information I give it into code, or into whatever the output is, not inferring new specifications. For example: I describe the pseudocode of the sorting algorithm, I do not say "sort it".

The most difficult part is downcasting: you create information. When you upcast it is mechanical.
PATH IMPORTANTDOWNCAST0101ANDBY HANDNOTUSE LLM01PDHANDLLM0001010110011110
DOWNCASTcreates informationnew nodes, new edgesUPCASTkeeps a subset of the informationsame nodes, nothing added

Upcasting takes a subset of the information. Downcasting finds new information and connects it, like adding nodes to a graph. Given all the information it needs, an LLM can only upcast: it is a semantic translator.

Contact

Get in touch

Looking for a job