Internship at Cegeka
February 2026 — May 2026 · 13 weeks

Belgian IT company · Social Impact Division
Summary
Over the course of 13 weeks I interned at Cegeka in the Social Impact Division. During that time I contributed to four Angular applications — from a full Angular rebuild as part of a framework evaluation (Angular vs Vue), to a version upgrade with full redesign, to a complete full-stack application built from scratch. My main assignment (FarmFit) was finished in week 8, which left time to contribute to other projects within the team for the remaining weeks. I also gave four presentations during the internship, including an English-language Q&A session for the full Social Impact Division.
Main assignment finished in week 8 of 13
My main assignment FarmFit — a full Angular rebuild as part of a framework evaluation with Vue — was finished in week 8 of a 13-week internship. I used the remaining weeks to contribute to other projects within the team: upgrading SafetySquad and building a full-stack application from scratch for Cegeka's sales team.
Each project had its own technical challenge and context. Here's an overview of what I worked on with each team.
Angular rebuild · framework evaluation
FarmFit is a business monitoring app for vets and livestock farmers. Through herd records, users can register visits, observations and notifications, and generate a visit report with action plan in one click — even offline, directly in the field. The existing React version had accumulated significant technical debt over the years. Cegeka decided to rebuild the application from scratch and conduct a framework evaluation at the same time: I built the application in Angular, while another intern built an identical version in Vue. Cegeka compared both implementations and ultimately chose Angular — because they have more Angular developers in-house and SafetySquad (another project within the team) was already much further along in Angular, making future changes and additions faster and cheaper. The reduction in technical debt was an additional major factor. I was responsible for the full Angular implementation: from component architecture to Signal-based state management to authentication via Azure Entra ID (MSAL Angular). The application is a Progressive Web App with offline functionality via IndexedDB. Delivered in week 8 of 13.
- ✓Full Angular rebuild from scratch in 8 weeks
- ✓Parallel Vue implementation by another intern for framework comparison
- ✓Progressive Web App with offline support via IndexedDB
- ✓Authentication with Azure Entra ID & MSAL Angular
- ✓Signal-based state management (Angular 21)
- ✓Multilingual support via ngx-translate (NL/EN/FR)
- ✓Client presentation on the migration to Angular
Screenshots
Angular v17 → v21 + full redesign
SafetySquad is a first-aid application that helps companies manage their first-aid officers, incidents and certifications. The application was built in Angular v17 by two other students — they were already fairly far along, but there was still work to be done. I took over the project, migrated the entire codebase to Angular v21, implemented a full redesign and built an analytics dashboard for administrators. Every breaking change from Angular v17 to v21 had to be addressed, including the migration from RxJS-based state to Signal-based patterns.
- ✓Took over from two other students
- ✓Migration Angular v17 → v21 including all breaking changes
- ✓Complete new design implemented
- ✓Analytics dashboard for administrators
- ✓Migration from RxJS state to Angular Signals
Screenshots
Full-stack from scratch · AI-driven development
Raam Contracten is an internal application for Cegeka's sales team to track and manage long-term client contracts. I built the entire application from scratch: Angular 21 frontend + .NET 10 Web API backend. Cegeka deliberately chose an AI-driven approach here: they wanted to measure how fast I could deliver with GitHub Copilot as co-developer. They actively tracked my progress as an experiment — can AI-assisted development speed up delivery without sacrificing quality? The answer was yes.
- ✓Complete full-stack application built from scratch
- ✓Angular 21 frontend + .NET 10 Web API backend
- ✓AI-driven development experiment with GitHub Copilot
- ✓Entity Framework Core + SQL Server
- ✓Cegeka measured how fast I could deliver with AI assistance
Screenshots
UI fixes, security & smaller contributions
In addition to the three main projects I contributed to two further applications. For one I carried out an OWASP analysis and fixed the vulnerabilities found — from input validation and XSS protection to proper authorisation checks. For the other I resolved a series of UI bugs that were on the backlog.
- ✓OWASP analysis performed on existing application
- ✓Found vulnerabilities resolved (XSS, input validation, authorisation)
- ✓UI fixes on additional application
- ✓Contributed to the other teams where needed
Screenshots
Client presentation on the framework decision
At the start of my internship, FarmFit's client (DGZ — Animal Health Flanders) was sceptical about moving away from React to Angular. They didn't immediately see the added value. I was given the opportunity to present the technical context in a way that connected with their needs: the accumulated technical debt in React, the framework evaluation with Vue, and why choosing Angular meant future changes would be faster and cheaper. After that conversation they agreed to proceed.
After the presentation the client agreed to the switch to Angular.
During my internship I gave four formal presentations, to groups of varying size and context.
FarmFit — Client presentation
DGZ (client) + Cegeka team
Technical argumentation for choosing Angular over React. After this presentation the client decided to proceed with the migration.
Mid-internship progress review
Internship team Cegeka (~5 people)
Status update at the midpoint of the internship: what was done, what remained, which decisions I had made and why.
Final internal presentation
Full Cegeka team (12 people)
End evaluation for the full team: demonstration of all four applications, technical explanation and personal reflection.
Social Impact Division Q&A
120+ colleagues · online · in English
English-language presentation of my internship project to the full Social Impact Division at Cegeka. Online, with a Q&A of more than 20 minutes.
These are the technologies I worked with during my internship.
Frontend
- Angular 21
- TypeScript
- PrimeNG
- TailwindCSS
- RxJS
- Angular Signals
- ngx-translate
Backend & API
- .NET 10
- C#
- Entity Framework Core
- SQL Server
- REST API design
Auth & Cloud
- Azure Entra ID
- MSAL Angular
- OAuth 2.0 / OIDC
PWA & Offline
- Progressive Web App
- IndexedDB
- Service Workers
Tooling & AI
- GitHub Copilot
- Git + Azure DevOps
- OWASP Top 10
- Agile / Scrum
After the internship
During my internship I signed a contract as .NET Developer at Cegeka, starting September 2026.


Young Graduate
.NET Developer · september 2026
Evidence
The documents and screenshots below have been reviewed and approved by my internship supervisor.
Project Plan — Yenthe Jannis
The graduation internship project plan covering goals, scope and approach.
Realisatie Document — Yenthe Jannis
The detailed realization document describing what I built, how I built it and the project outcomes.
Reflectie Document — Yenthe Jannis
The personal reflection document describing what I learned during the internship.
Personal reflection
These are the insights I'm taking with me from 13 weeks at Cegeka.
Enterprise development is a different mindset
With my own projects I decide everything myself. At Cegeka I worked in an ecosystem with existing conventions, architecture decisions and code reviews. I learned to defend my choices and to stay open to feedback from experienced colleagues.
Communicating with a non-technical client
The client presentation for FarmFit taught me that technical arguments have to be translated into business value. The client doesn't understand what technical debt or a framework evaluation means — but they do understand what it gives them in terms of maintainability, speed and future-proofing.
AI-driven development has limits
On Raam Contracten I deliberately used GitHub Copilot as co-developer. I learned when you can trust AI and when you need to steer it. Blindly accepting AI-generated code is dangerous; using it as an accelerator while you make the architecture decisions — that works.
Presenting to large groups
Presenting in English for 20+ minutes to 120+ colleagues was a challenge I hadn't anticipated. I learned to stay calm, answer questions concretely and anticipate what a non-technical audience wants to know.
Broader perspective from working across teams
Because my main assignment was finished early, I could spend the remaining weeks contributing to other teams. That gave me a wider picture of how different projects within the same company are managed.