Francesco Ostidich
Open to work · systems / low-level SDE roles · anywhere in Europe
This site is a terminal chatbot and needs JavaScript. Here is everything it knows, in plain HTML.
Introduction
Hi! I'm Francesco Ostidich, a computer science engineer from Italy. Here's a freshly generated picture of me:

I'm wrapping up my M.Sc. in Computer Science and Engineering at Politecnico di Milano, with a thesis on real-time configuration switches for edge-to-cloud systems built on AWS IoT Greengrass.
What I'd love to do next is systems and low-level programming: operating systems, performance, the layers most people never look at. I'm looking for a job anywhere in Europe.
You can ask me about my projects, my skills, what I'm like, or how to reach me. Or just grab my CV.
About me

I enjoy learning, and I like doing complex things. I'm proactive and I love digging into rabbit holes, CS-related or not: I've experimented hands-on and read up on the theory of a lot of things, mostly because I couldn't stop at "it works".
Outside the terminal
- Music: British '70s rock. Led Zeppelin is the band, I love their albums, and I play the guitar (still learning, and the goal is obviously to play Zeppelin).
- Sport: I go to the gym regularly. I've tried pretty much every sport, and never became the best at any of them.
- Travel: my goal is to travel as much as I can. I live in Italy and lived in Milan, and I'd like to move to another European city next.
- German: currently learning it, Schritt für Schritt.
- Rubik's cube: once upon a time I could solve it in under 30 seconds.
- Friends: I like being surrounded by them, and with many of them I daydream about startups. The ideas are simple: build European alternatives wherever they're missing.
Inside the terminal
- I live in Neovim, and I've just fallen into the split keyboard rabbit hole: I bought a Corne.
- I've written a lot of code by hand. I genuinely liked it, it kind of cured my OCD.
- Nowadays I enjoy AI coding for things I want to test quickly or that aren't critical. I still think I'm better (if slower) at writing code myself, but I'm adapting to the new world.
Availability
Yes, I'm actively looking for a job. I'm almost done with my M.Sc. (expected December 2026).
- What: I'd love a systems / low-level SDE role: operating systems, embedded, performance, infrastructure, the closer to the metal the better. My thesis was cloud work (AWS IoT Greengrass), so I'm also comfortable on the distributed-systems side.
- Where: anywhere in Europe. The UK and Germany are my favourites, and I'm happy to relocate.
- When: as soon as I graduate. Earlier conversations are welcome.
Want to talk? Here's how to reach me, and here's my CV.
Contacts
You can find me here:
Email is the fastest way to reach me.
Education
Both my degrees are from Politecnico di Milano:
- M.Sc. Computer Science and Engineering, Feb 2024 – Dec 2026 (expected)
- Hands-on work on complex systems design and security, operating systems, and cloud scalability.
- Lots of practice designing solutions for vague, evolving requirements, which takes a fair amount of abstract thinking.
- Thesis on AWS IoT Greengrass. Ask me about it.
- B.Sc. Computer Science and Engineering, Sep 2020 – Feb 2024
- Plenty of projects built on proactive problem solving and learning things fast.
- Solid fundamentals: MVC, OOP, multi-threading, relational databases, data structures.
Here's graduation day for my bachelor's, with my dad:

Experience
Honest answer: no CS job yet. Here's what I've got so far.
- FlasherPay, fintech startup: I helped plan and build a group payments platform with some guys from Bocconi. I wrote a lot of the code and designed a lot of the architecture (7 Go microservices, gRPC, GraphQL, TDD with 90%+ coverage). We stopped halfway for various reasons, so it never launched.
- ABB × MDU × Polimi joint project: the closest I've been to industry. I was in a 9-person remote team split between Italy and Sweden, working on a real ABB system with SCRUM and direct contact with the stakeholders.
- Waiter, Vespucci Restaurant, Ispra (Jul – Sep 2022): service in a high-end restaurant, in close coordination with a team of 20. Being quick, precise and calm under pressure turns out to be useful everywhere.
- Gardening and odd jobs while studying: lots of them, to pay my way.
Skills
Languages
- Systems: C, C++, Rust, Zig, CUDA (and VHDL, for when even C is too high-level).
- Everything else: Go, Python, Java, C#, Swift, TypeScript / JavaScript.
Cloud and backend
- AWS: IoT Greengrass, IoT Core, EC2, S3, Lambda, DynamoDB, Cognito, Bedrock.
- Firebase, gRPC, GraphQL, REST, MQTT.
- Databases: PostgreSQL, MySQL, NoSQL.
Tools
- Linux, Bash, Git, Docker,
just, CI pipelines.
- Neovim, always.
Things I know well
- Operating system internals: processes, concurrency and locks, memory management, drivers and interrupts, virtualisation.
- GPU and parallel programming, performance optimisation.
- Distributed and edge-to-cloud architectures, microservices, TDD.
- Leading small teams: I've led 3- to 5-person teams in several projects.
Languages
- Italian: native.
- English: C1, certified (ETS, 930/990).
- German: currently learning it. Ich lerne jeden Tag ein bisschen.
Looking for programming languages instead? Ask about my skills.
Projects
The special one first: my master's thesis, on real-time configuration switches for edge-to-cloud systems with AWS IoT Greengrass.
Everything else, newest first. Tap a name for the details:
- Cooking App — AI-powered meal planning and grocery lists on AWS serverless (TypeScript, React, AWS · 2026)
- ScoutScan — mobile app connecting scout leaders with camp owners (TypeScript, React Native, Firebase · 2026)
- Vulcano — a 3D explorable world rendered from scratch with Vulkan (C++, Vulkan · 2026)
- Kakuna Yoga website — website for a yoga centre's team and activities (Vue, Nuxt 3, Supabase · 2025)
- Pot — a minimal daemon manager, like a tiny systemd (Zig · 2025)
- Students & Companies — full-stack platform matching students with internships (C#, React, MySQL · 2025)
- Study notes — public notes on Linux internals and information systems (2025)
- Well MEing — AI-based iOS app for tracking wellbeing habits (Swift, Python, Firebase · 2025)
- Fractal Art — GPU image generation pipeline, from seconds to 280 ms (C, C++, CUDA · 2024)
- Neural Network November — deep learning challenges, 2nd place in Mars terrain segmentation (Python, TensorFlow, Keras · 2024)
- Old website — my previous personal site, built to learn HTML and CSS (Node.js, Express, EJS · 2024)
- Tag — an alternative ls that adds colour tags to files (Rust · 2024)
- Time Travel — CLI that extracts dates from messy filenames and renames files (C · 2024)
- Wisp & Secret — password generator that stores nothing, prototyped in Rust and rebuilt in C++ (C++, Rust · 2024)
- MyShelfie — client-server Java version of the MyShelfie board game (Java · 2023)
- Plass — terminal app to keep track of lessons to catch up on (Python · 2023)
- Route Planner — shortest path planner for an expressway graph, built from scratch (C · 2023)
- VDMR — FPGA vectorial demux memory reader in VHDL (VHDL · 2023)
- ABB joint project — modernising an ABB factory simulator with a team in Italy and Sweden (C#, React, ASP.NET, Bash)
- FlasherPay — fintech startup, a microservice platform for group payments (Go, gRPC, GraphQL, PostgreSQL)
Thesis
AWS IoT Greengrass real-time configuration switches, my master's thesis at Politecnico di Milano (Mar – Oct 2026).
AWS · Python · Bash · Docker · MQTT
The problem
Picture a system split into layers: edge devices, fog nodes, cloud VMs. Each layer runs some containerised applications. The right placement of those applications changes with the load, so the system should be able to switch configuration at runtime: scale a layer up or down, or move an application from one layer to another, without stopping everything.
What I built
- A multi-layer orchestration system on top of AWS IoT Greengrass. Every layer is a fleet of Greengrass nodes (thing groups), each node running the Greengrass nucleus in a container.
- A central orchestrator that receives requests over HTTP, routes them through the processing pipeline over MQTT, and collects metrics from every component.
- A control loop where trained agents read those metrics. One decides how many instances each layer needs, the other which configuration to run and where each application should live. The system then applies the decision live, creating, deleting or moving containers between nodes.
- A Python CLI for the whole lifecycle: provisioning EC2 nodes, creating and scaling layers, changing configuration, cleaning up.
- A realistic use case to test it: a YOLO-based fire detection pipeline, with a stage forwarding to a vision-language model.
Why it matters to me
It's distributed systems with real constraints: latency, startup times, and nodes that come and go. Lots of the work was understanding what the platform does under the hood and working around it.
The thesis is nearly finished. The final title and the PDF will appear here soon.
CV
Generating my CV for you. Tap it to download the PDF.
my CV
How kello works
Nope. I'm kello: Keywords Emulating Large Language Output: 100% regex, 0% GPU.
There's no model and no API behind me. Your question is lowercased, split into words and compared with keyword lists, with some typo tolerance, plurals and multi-word phrases. Every answer was written beforehand by Francesco Ostidich, and the "generation" is just a typing effect. The images really are drawn as ASCII from the real pixels, though.
It's a static site: plain JavaScript, Markdown files for the content, built with Vite.
Cooking App
A meal planning app: you tell it what you'll eat this week, and the AI assistant works out what to buy and when, gives you step-by-step recipes, and suggests meals from whatever's left in your fridge.
I wrote the original spec (fostidich/cooking), then we built it as a team of three, and I was the main contributor.
- Frontend: React 19 + Vite, Radix UI, TypeScript.
- Backend: fully serverless on AWS SAM, with Lambda, DynamoDB (single-table design) and Cognito auth with Google sign-in.
- AI: AWS Bedrock (Claude Haiku) for meal ideas, grocery verification and recipes.
- Shared TypeScript types between frontend and backend.
Repository: github.com/falcro02/CookingApp · github.com/fostidich/cooking
ScoutScan
ScoutScan is a React Native mobile app that connects scout leaders with camp owners, so finding and booking a camp stops being a chain of phone calls. I was the top contributor in a team of three.
- Expo + React Native in TypeScript, with file-based routing.
- Firebase for authentication (email and Google sign-in), Firestore and Cloud Functions.
- Stripe payments with webhooks.
- Tested end to end: Jest and Testing Library for unit and integration tests, Maestro for E2E flows.
Repository: github.com/Gabriel-Leonardi/ScoutScan
Vulcano
Vulcano is a 3D world you can walk, jump, sprint and fly around in, rendered with Vulkan directly from C++. I built it with a teammate.
- Real-time rendering pipeline written straight against the Vulkan API, with no engine in between.
- First-person controls with walking, sneaking, sprinting, flight, zoom and fast teleport.
- Toggleable collisions, hitbox visualisation, full-light mode and an info/debug overlay.
- Objects you can interact with in the world, plus a dedicated showcase scene for debugging.
Vulkan makes you spell out everything the GPU does, which is exactly why I liked it.
Repository: github.com/fostidich/vulcano
Kakuna Yoga website
A responsive website for the Kakuna Yoga Center, built by a team of four: homepage, activities, teachers with their schedules, the centre itself, contacts and search.
- Nuxt 3 (Vue) and TypeScript, styled with Tailwind CSS.
- Supabase as the backend.
- Built around its own design system (palette, typography, spacing, reusable components), with a full design document.
Repository: github.com/fostidich/kakuna-yoga-website
Pot
Pot is a minimal command-line tool for managing daemons (background processes). It's inspired by systemd, but only does the essentials:
pot set "<name>" registers a program, and pot delete removes it.
pot start and pot stop control it.
pot alone lists everything and its state.
It's written in Zig, which I picked to learn a language that lets you see every allocation.
Repository: github.com/fostidich/pot
Students & Companies
For the Software Engineering 2 course, I led a 3-person team building a full-stack platform where students discover internships posted by companies.
- C# backend exposing REST APIs to a React frontend.
- Designed and deployed a MySQL database, with a three-tier architecture.
- Over 10,000 lines of code, from requirements and design documents all the way to deployment.
Repository: github.com/fostidich/students-and-companies
Study notes
I write notes when I study, and some of them are public:
- Linux Concepts: a deep dive into core Linux internals from the Advanced Operating Systems course. It covers processes, locks and concurrency, memory management, drivers and interrupts, boot interfaces and virtualisation. This is the stuff I'd like to work on.
- Technologies for Information Systems: notes from the 2025/26 Polimi course.
Repository: github.com/fostidich/linux-concepts · github.com/fostidich/infosys-notes
Well MEing
I led a team of five building Well MEing, a native iOS app for tracking wellbeing habits (about 10k lines of code).
- I mostly built the SwiftUI app, and also worked on the cloud deployment and API design.
- Firebase (GCP) backend with a NoSQL database and two AI modules: one writes personalised reports, the other turns voice commands into actions.
- Stress-tested with 30+ real users, then tuned the code and cloud config to keep latency under 100 ms.
Repository: github.com/fostidich/well-meing
Fractal Art
A program that computes a fractal, puts one input image inside its borders and another outside, then adds a shadow for a sense of depth. Built for the GPUs & Heterogeneous Systems course.
- Started from a naive C version, then built a 3-kernel CUDA pipeline.
- Optimised it step by step on the GPU: runtime went from seconds to 280 ms, and the algorithmic complexity came down to fit strict time and memory limits.
- I coordinated the implementation.
Repository: github.com/fostidich/fractal-art
Neural Network November
Two challenges from the Artificial Neural Networks & Deep Learning course at Polimi, tackled in a team of three (I was the top contributor).
- Blood cell classification from microscope images with a CNN. Data augmentation pushed us to a strong placement.
- Mars terrain segmentation: semantic segmentation of Martian terrain. We placed 2nd out of ~200, with 74% accuracy, using a U-Net-based architecture and custom loss functions.
- Lots of data augmentation and analysis: we grew the dataset 4×, to 10k samples.
Repository: github.com/matteobettiati/Neural-Network-November
Old website
Before kello, I had a classic personal website. I'd never worked with HTML or CSS, so I built it with Node.js and Express (EJS templates) to learn them hands-on.
This new one replaced it, because a terminal felt more like me.
Repository: github.com/fostidich/my-website
Tag
I wanted to tag files with colours straight from the terminal, so I built an alternative to ls in Rust.
tag src/main.rs magenta gives a file a colour.
tag ls / tag la ~/Documents lists a directory (hidden files included with la), and tagged files show up in their colour.
Better organisation, while keeping the simplicity of the original command.
Repository: github.com/fostidich/tag
Time Travel
You know the folder full of files with dates hidden somewhere in their names, each in a different format? Time Travel scans a directory, detects the date in every filename and renames the files to one common format.
Written in C. It's where I really learned how regex works, which, given what you're talking to, came in handy.
Repository: github.com/fostidich/time-travel
Wisp & Secret
A CLI password generator for using many devices without a central password database: give it a username, a provider and a personal key, and it derives a hash to use as the password. Same inputs, same password, nothing stored.
- Secret (
scrt) was the Rust prototype. It also keeps track of the entries (without the key) so you remember which combination you used.
- Wisp is the improved C++ version: you can customise the hash format (letters, digits, symbols) and the number of password resets.
Repository: github.com/fostidich/wisp · github.com/fostidich/scrt
MyShelfie
My first big coding project: I led a 4-person team reproducing the MyShelfie board game as a client-server Java application, for the Software Engineering course. I was the top contributor.
- Over 10k lines of Java, following the MVC pattern.
- A well-tested core model, an optimised client-server network controller, and a responsive GUI.
It's where high-level programming finally clicked for me.
Repository: github.com/0xabi/ing-sw-2023-margarini-nasr-niedda-ostidich
Plass
A small Python CLI I wrote to keep track of lesson dates: it stores the lecture dates of each course, lets you add, remove and display them, and counts how many past lectures you still need to watch. Very useful during exam season.
Repository: github.com/fostidich/plass
Route Planner
The project for the Algorithms & Data Structures course: an efficient route planner finding the shortest path in an expressway graph.
The tree data structure and breadth-first search were designed from scratch in C, under strict time and memory constraints.
VDMR
An FPGA design for the Logical Networks course: it reads an address as a sequential input and sends the corresponding memory value to the right output port.
Written in VHDL at a low structural level, which let it reach perfect timing optimality. It's as close to the metal as I've been so far.
Repository: github.com/fostidich/vec-dmux-mem-reader
ABB joint project
A joint project between ABB, Mälardalen University (MDU) and Politecnico di Milano: 200 hours of distributed teamwork in a 9-person remote team split between Italy and Sweden.
- Modernised a factory simulator made of 10 Raspberry Pi nodes running Windows and Linux, all managed remotely.
- Replaced legacy deployment tools for running remote commands and transferring files over local networks (C#, ASP.NET, REST, React, Bash and Batch).
- Worked with SCRUM, in direct contact with ABB's stakeholders.
FlasherPay
FlasherPay was a fintech startup I worked on with some guys from Bocconi: a platform for group payments. About 250 hours of my time went into it.
- Helped plan and build the initial 7-microservice system in Go, with gRPC between services and GraphQL towards clients, on PostgreSQL.
- Owned the full software lifecycle, from design documents to implementation and automation.
- Designed maintainable client-server and service-to-service communication, and set up CI.
- Practised TDD: 90%+ coverage on about 20k lines of code.
We stopped halfway for various reasons, so it never launched. It taught me more about architecture than any course did.