Back to projects

Project

VLIZ | Aphia QC Toolbox

During my internship at VLIZ, I worked on modernizing and optimizing the Quality Control (QC) system used within the Aphia platform. The project focused on improving maintainability, performance, scalability, and usability of an existing system that had gradually become difficult to extend and maintain.

PHPSQL ServerTwiginternshipproject

The work combined backend architecture redesign, SQL optimization, caching strategies, and frontend improvements within a real production environment.

Project Context

The QC system is responsible for detecting inconsistencies, missing information, and potential data quality issues within large biological taxonomy datasets. Over time, the original implementation had evolved into a monolithic structure containing tightly coupled logic and increasingly complex SQL queries. This made further development difficult and caused several performance bottlenecks. The goal of the internship was to redesign and optimize this system while keeping compatibility with the existing Aphia platform.

Development Focus

A major part of the project involved restructuring the QC architecture into a more modular and maintainable system. Key Improvements: - Refactored a monolithic QC implementation into separated query modules - Improved separation of concerns between backend logic and presentation - Redesigned overview and result interfaces for improved usability - Added filtering and grouping improvements to streamline data analysis - Implemented new QC queries and expanded system flexibility - Improved maintainability for future development and extension The frontend was also updated to provide clearer issue visualization and a more structured overview of detected QC problems.

Performance & Optimization

A large focus of the internship involved optimizing SQL query performance within Microsoft SQL Server. Optimization Work: - Analyzed SQL execution plans to identify bottlenecks - Reworked expensive query structures - Introduced temporary tables and targeted indexing strategies - Reduced repeated calculations within complex queries - Explored database-based caching strategies for heavy QC operations - Balanced performance improvements with data freshness requirements Several queries that previously performed poorly were significantly optimized, improving overall responsiveness and scalability of the QC system.

Challenges

One of the main challenges was balancing performance optimization with maintainability. Improving SQL performance often required redesigning query structures while ensuring that the logic remained understandable and extensible for future development. Another challenge was integrating new architecture concepts into an existing production platform without disrupting existing workflows. The project also required working across multiple layers of the application stack, combining backend development, database optimization, caching, and frontend improvements.

Results

The optimized QC system was successfully deployed within the live VLIZ environment during the internship period. The final implementation provided: - improved maintainability - cleaner architecture - faster query execution - a more user-friendly interface for QC analysis The work also established a stronger foundation for future extensions and automated QC workflows.

What I Learned

This internship significantly strengthened my experience with: - large-scale PHP applications - SQL optimization - software architecture - caching strategies - frontend/backend integration - development within a professional production environment It also provided valuable experience collaborating within a real development team and contributing to software used in active scientific data management workflows.

Click here to view my bachelor's thesis (Dutch only).