About me

My name is Filippo, and I’m currently ? years old. This is my hub for showcasing my latest personal projects, blog articles, and attempts at art.

On this page, I want to give an overview of my interests and experience. If you want to read my resume, head over to LinkedIn.

# Right now

I live in Graz, Austria. In October 2023, I started pursuing a master’s degree at Graz Technical University while working as a software developer (↓ Experience). The topics that interest me most right now are deep learning and AI-powered information retrieval.

After completing my bachelor’s degree in October 2022, I spent five months exploring Southeast Asia, combining work and travel. I visited Thailand, Laos, Vietnam, the Philippines, Japan, South Korea, and Singapore. I had a great time, and I’m grateful for the opportunity.

When?What?
2023 - todayStart master’s degree at TU Graz
2020 - 2024Software Developer @ Studo ↓ Read more
2019 - 2022B.Sc. in Mobile Software Development at FH Joanneum
2019Finish school, move to Graz

# Hobbies & Interests

In my free time, I enjoy rock climbing, coding my personal projects, and spending time with my friends. Sometimes, when I stumble upon a new topic that sparks my interest, it draws me in for weeks. I can’t help but learn as much as I can about it. This could for example be a new programming language, 3D modeling, or compute shaders.

# Table Of Contents

# Experience

I’ve been coding since I was 14 (that’s more than ? years!). For the past ? years I’ve been developing software professionally.

I started at Studo in 2020 as a Full-stack Software Engineer, working on new features in all parts of the Studo ecosystem. Over the four years I spent there, I grew within the company and received more responsibilities. I handled entire projects for selected clients, including development and communication. In 2022, I also became Head of User Support. Thanks to the trust placed in me and the variety of roles, I was able to improve my skills in many different areas and gain new expertise.

What is Studo?
The Studo App is an app for university students. It integrates useful information (calendar, grades, courses & more) spread across multiple services into one place. The app is used by more than 500 thousand students across Europe. We also create solutions for universities to digitalize processes like attendance tracking and more.

# Modern Web Development

Keywords
React • Vue • HTML • CSS • Angular • JavaScript & TypeScript • Kotlin • Elm • Svelte

I recently created a website to simplify meeting busy friends. I went from concept to release in just 10 days, read more about it here: Busy Friends make scheduling hard.

As my biggest project so far, I created a custom survey creation platform and then wrote my bachelor thesis about it. It is integrated into the Studo Newsroom, which is a platform that allows partner companies to publish content for the Studo news feed.

Try it out here: studo.co/connect/survey-creator.

I was responsible for the entire design and development, which required multiple UI iterations over the course of a few months. Later, I worked with a colleague to integrate the survey fill-out page into the app, allowing users to respond right from the news feed. This proved to be very valuable, as it increased survey response rates.

The survey creator
The survey creator.

Read my blog post about the survey creator, or read the official article on studo.com.

Like most of Studo’s web projects, the survey creator is written in KotlinJS and transpiled to JavaScript. Kotlin provides a number of benefits for developers, especially smaller teams. Everything is type checked and, because we can access the same class from both backend and frontend code, API contracts are kept at the compiler level. We use React through a Kotlin wrapper that ensures type safety for all properties and functions.

In my bachelor thesis, I compared the survey creator against Google Forms and SurveyJS. Spoiler alert: mine was found to be easiest to use, which was one of the main goals. I graduated with distinction.

# Mobile App Development

Keywords
Kotlin • Swift • Flutter • Dart • Realm • Java • UI Design
  • I worked on extending the Studo app’s mail client to support authentication via OAuth.

  • We created a digital student card in a one-week hackathon. My main focus was to implement a holographic verification effect using layered canvas drawing and the device’s gyroscope sensors.

  • The Studo app is monetized via a freemium model – free users see banner ads. I integrated a new third-party ad provider SDK to increase revenue per click.

  • My pretty cross-platform game ‘Four in a Row’ is written in Flutter. Published a game on the Play Store and getting >5000 downloads taught me so much.

    • Mobile development: advanced state handling, animations, UI/UX design.
    • Ensuring stable connections (reconnection handling).
    • Creating a fast, authoritative game server in Rust.
    • CI/CD to improve my own developer experience.
    • Launching an app and listening to user feedback.

# Backend Services, Databases, DevOps

Keywords
Kotlin • Rust • MongoDB • Ktor • SQL • Java • Python • C++ • Unix • Nginx • Node • Traefik • Docker

As part of a cooperation project with a university in Graz, I developed a service that imports data from the the university’s systems and synchronizes it to Microsoft Teams. For example, it creates teams for each course and automatically creates events. This service is now included as a part of Studo Flow.

My tasks included:

  • Ongoing communication with our client. Reacting to their wishes and bug reports.
  • Writing a custom wrapper for the MS Graph API featuring easy authentication, rate limiting, exponential backoff, and more.
  • Knowing when to ask for help from senior coworkers.

I deployed the game server for my ‘Four in a Row’ app on a VPS. Writing docker, docker compose, systemd, and nginx configuration from scratch introduced me to the world of DevOps. Later, I went on to write my own CD tool that automatically releases new server and app versions.

# Interpersonal & Development Processes

Keywords
Communication • Agile methodology • Effort estimation • Requirements engineering • Hiring • Mentorship

As it turned out, there is much more than coding that makes a great Software Engineer. I learned how to communicate effectively with coworkers, across teams, and with clients. This was great for my personal growth.

I was also partly responsible for hiring and onboarding new developers. This entails coding interviews, decision-making and mentorship. I helped introduce many of Studo’s current developers to our tech stack and conventions.

# Head of User Support

As part of my work at Studo, I was responsible for managing the excellent user support team. This means I coordinated first, second, and third-level support, I investigated challenging cross-project issues when they come up, and called upon my coworkers’ expertise to ensure our users are happy. As the number of developers and support team members grew, I introduced new processes regarding ticket assignment, hand-off, and inter-team communication.

In March 2024, I experimented with automating parts of the first-level support by leveraging LLMs. The results looked promising, but would require more time.

# More