<FR />Full-Stack Software Developer

$ whoami

Francesco Ranghetti

Full-Stack Software Developer

Java · Spring Boot · Angular · MySQL

▍

Cadenazzo, TicinoItalian · German · English

Available from November 2026 · Ticino or remote

01 · Experience

Full-Stack Developer

2023 — present

Company

[Company Name] · software development, about 15 people

Java · Spring Boot · Angular · TypeScript · MySQL / PostgreSQL

Roles

  1. 02/2023 – 02/2025

    IT apprentice (AFC)

    Started the time-tracking system and built most of it

  2. 06/2025 – 08/2025

    Software developer · 100%

    Kept developing the time-tracking system

  3. 09/2025 – 06/2026

    Software developer · 10%

    Alongside the full-time vocational baccalaureate

Main responsibilities

  • ›Built the time-tracking system end to end: backend, frontend and database
  • ›From requirement to delivery, excluding deployment
  • ›[Third real responsibility — e.g. working with colleagues, code review, maintenance]

A hard problem I solved

The global count of worked hours: [explain what made it hard — e.g. the same value computed in several components, numbers out of sync]. I solved it by centralising state in the Angular store [NgRx or signal store?], so every view reads from the same source. [Result: what improved.]

Company

FlowAlp SAGL · Platform for events and SMEs

Java · Spring Boot · Angular · TypeScript · MySQL

Roles

  1. 11/2025 – present

    Co-founder

    Side project, at a reduced pace during military service

Main responsibilities

  • ›Building FlowAlp Shift, the staff shift-scheduling module: backend, frontend and database
  • ›Architecture and product decisions, from the data model to which features to build first
  • ›Contact with schools and event organisers in Ticino

02 · Projects

Built from scratch

A time-tracking app used in-house at a company, and a school project. On both I worked across the whole stack, from the database to the interface.

Dashboard: hours this week, hours balance and remaining vacation
Dashboard: hours this week, hours balance and remaining vacation1 / 3

SunTrack · Time-tracking system

Suntis's internal app for clocking in and out, filling in weekly time sheets and exporting them as PDFs. Everyone sees their hours for the week, their hours balance and remaining vacation in real time. It also handles expenses.

Role: End-to-end development (backend, frontend, database), started as an apprentice and continued as an employee

Challenge: The worked-hours total was kept in localStorage and used across several pages: the values drifted out of sync and sometimes the page had to be reloaded. I moved it into an Angular store, so every view reads from the same source and updates on its own.

Learned: That an app people use every day has to be maintained: refactoring and clean code matter as much as new features.

Proprietary code owned by Suntis SA, not public. Screenshots published with permission.

JavaSpring BootAngularTypeScriptMySQL / PostgreSQL
Home page after logging in with a school account
Home page after logging in with a school account1 / 3

Pick an Idea · School voting system

Third-year final project (CPT Locarno, 2024): a web app where students vote yes or no on school topics, propose new ones and see the results in real time. Proposals go through an administrator who accepts or rejects them.

Role: Built in a team of two with Giacomo Bindi: I handled the backend, frontend, security and server.

Challenge: Logging in with school accounts: authentication via LDAP against Active Directory (Windows Server 2019), user and admin roles taken from AD groups, and JWT tokens for calls to the backend. I had estimated 12 hours for LDAP; it took 40.

Learned: To estimate better: authentication and authorization took about four times longer than planned. And that plugging into an existing system like the school's AD costs more up front than building your own, but spares everyone yet another account.

No longer running: starting it again would need an Active Directory server. The screenshots come from the project presentation video.

AngularTypeScriptSpring BootSpring SecurityLDAP / Active DirectoryJWTMySQLDocker

Semi-serious project

Porsche Fund

The other projects have a client and a deadline. This one doesn't. I'm the client, and the deadline is whenever I get there. I like Porsches. I earn a junior salary. You do the math. If you feel like it, buy me a coffee: every franc goes into the 911.

Buy me a coffee
Raised: CHF 0Goal: CHF 250'000

Estimated delivery: a few million coffees from now.

CaffeineFlat-sixOptimism

03 · FlowAlp

One festival, four different tools.

Excel for volunteer shifts, WhatsApp for the staff, one platform for tickets and another for payments. Information gets lost and mistakes keep repeating.

The idea

Everything in one place.

FlowAlp brings shifts, tickets, access control and payments together. You start with the module you need today and add the others as you grow.

On screen

The real code of FlowAlp Shift.

Not a mockup: it's the backend I work on.

FlowAlp SAGL

My work at FlowAlp

Started in November 2025 by three friends, it's now a limited company with its first customer: the Carnevale Malvagliese, which uses FlowAlp Ticket for presales.

Inside Shift

Architecture decision

One platform, many organisations

Shift isn't built for a single event: several organisations use the same application, each with its own events, staff and rules. That's why we designed it as multi-tenant from the start instead of installing a copy for every customer. The hard part is permissions: every operation is tied to an organisation and an event, so one organisation's data never shows up in another's context.

Learned: We couldn't know what future customers would ask for. We chose a flexible structure without building every possible scenario up front.

Feature

Custom sign-up forms

One event wants to know when volunteers are available, another asks for preferences or details for its activities. Instead of writing a different form for every customer, I built customisable fields: organisers choose what to ask, from text, numbers, dates, checkboxes and dropdowns. Behind it are a flexible data model, the backend APIs and Angular components that adapt to each field type.

Learned: A well-designed feature means not touching the code for every new customer.

What founding a company taught me

A complete flow first, the rest later

There was no shortage of ideas: advanced reports, notifications, exports, custom messages. We chose to finish the core path first, from creating an event to filling its shifts, so we'd have something usable and could start collecting feedback.

In a team of three, nobody has just one role

I'm the developer, but I also designed the logo, the maintenance page and the graphics for the payment methods. I learned to think about the whole product, not just my code.

04 · Skills

Technical skills

Click a key for details.

Languages

Java

The language I write backends in.

Qualifications

IT apprenticeship diploma (AFC)

Suntis SA · 2025

Vocational baccalaureate

CPT Locarno · science track · 2026

Languages

Italian[Native / C2]
German[e.g. B2]
English[e.g. C1]

05 · About

About me

I'm 21 years old and passionate about software development and computer engineering. I started as an IT apprentice (AFC), where I got the chance to work on real projects and build real skills in Java, Spring Boot and Angular.

In 2026 I completed my vocational baccalaureate and, around the same time, co-founded FlowAlp.

Once I have finished my military service, I plan to continue my studies in Computer Engineering, with the goal of deepening my knowledge and contributing to innovative projects in software development.

In my free time I like hiking in the mountains and sport in general. What I love about programming is the chance to build solutions that make people's lives easier.

Between FlowAlp and my time in the army, I've had the chance to develop leadership and time-management skills, learning to balance responsibilities and to be proactive in reaching my goals.

Quick facts

Location
Cadenazzo, Ticino
Languages
Italian, German, English
Education
IT apprenticeship (AFC)
Availability
From November 2026
Role
Full-Stack Developer & Co-Founder

The path so far

Timeline

  1. 2020 - 2025

    IT apprentice (AFC)

    From not knowing what a variable is to programming a complete software product.

    I started out knowing nothing about programming. After changing company and joining Suntis, I had the pleasure of working on real projects that let me grow as a developer. Specialising in Java, Spring Boot and Angular, I contributed to significant projects and built practical skills that prepared me for the future. The most significant project I worked on was the company's time-tracking system, which I started as an apprentice and continued as an employee, developing the backend, the frontend and the database.

  2. Summer 2025

    Software developer

    From apprentice to employee, at the same company.

    In these three months I improved features of the time-tracking system. I also learned to work in direct contact with clients through another project I worked on, and got to know the project management side, while keeping deadlines.

  3. 2025 — 2026

    Vocational baccalaureate

    Full-time school, work in my spare time.

    I attended the scientific vocational baccalaureate full time at the CPT in Locarno. I chose this qualification to deepen my knowledge and to be able to continue with Computer Engineering studies in the future. During this year I improved my time management and organisation thanks to the part-time work I kept doing at the company.

  4. November 2025 - present

    Co-founded FlowAlp

    With two friends, we found FlowAlp, a platform for events and SMEs.

    From an idea between friends to a limited company with its first customer, in a few months.

  5. July 2026 - present

    Military service

    Swiss Armed Forces.

    I began my military service as a reconnaissance soldier in the infantry in Chur. I was able to improve my German. After moving to the Ticino section, and thanks to my specialisation as a Truppenchef, I could improve my leadership skills. I learned to manage a group of people and to make quick decisions under stress.

  6. Future

    The next step

    Work and university of applied sciences.

    After completing my military service I plan to work full time to save up so I can continue my studies in Computer Engineering in Zurich. On top of that, I intend to keep working on FlowAlp, contributing to the product's development and the company's growth.

06 · Contact

Let's build something together

Write to me

Cadenazzo, Ticino

FR

Francesco Ranghetti

Full-Stack Software Developer

Click to flip