LabTech, UDF’s Software Factory

See how LabTech, UDF’s software factory, puts students in real squads to build, test, deploy, and research production-ready systems.

LabTech, UDF’s Software Factory

There is a type of college project everyone knows: the one that runs once during the presentation, gets a grade, and disappears onto a flash drive. LabTech was created to be the opposite of that. There, the code students write is deployed to a cluster, interacts with other services, and actually runs—in the same way software runs at a company.

Cover image representing a university software factory, with students in a squad building real systems for production.
Cover image representing a university software factory, with students in a squad building real systems for production.

A software factory inside the university

LabTech is the software factory connected to UDF, the University Center of Brasília. The idea is simple to describe and difficult to implement: put students into real squads, building real systems. No disposable exercises. Each class joins a CoOp—a kind of development cooperative, identified by a code such as 2025-2-Squad-01—and takes ownership of a product from end to end.

Access to the platform is restricted to @udf.edu.br email addresses, and authentication is passwordless through a Magic Link: you receive a link, click it, and log in. It is a small detail that teaches a big lesson—login security and user experience are engineering decisions, not decoration.

Squads that deliver real systems

What comes out of it? Systems that an institution would actually use. A teacher allocation service. An integrated event management platform. And, to complete the quality picture, a BDD test automation suite—Python with Selenium and Behave, following the Page Object pattern—covering the React SPA.

Notice the detail: it is not just about making the screen work. It is about making the screen work and then writing the test that ensures it will keep working tomorrow. That is the key difference between a college assignment and a product.

The architecture behind the projects

Under the hood, LabTech is deliberately polyglot. Services written in Java, Python, and JavaScript coexist, with shared domain entities and an event-driven design. The APIs speak GraphQL and REST. Data lives in MongoDB, with Redis providing caching. Everything is packaged in Docker and deployed to a cluster.

It may sound like alphabet soup, but there is a reason for it: this is exactly the kind of environment students will encounter in the industry. Microservices that need to understand one another, different languages in the same system, and caching to keep the database from being overwhelmed. Learning this through the experience of a real project is worth more than any slide deck.

Method: call for applications, logbook, and points

What keeps all of this from turning into chaos is the method. Entry happens through a formal call for applications with clear rules. Inside the squads, student managers maintain a standardized logbook, with mandatory records of meetings—the living memory of every decision.

There is also a points system for activities. This is not playful gamification: reaching a minimum score is what determines whether students receive the certificate and/or credit for their mandatory internship. In other words, delivery has real academic weight. You are not just helping with a project; you are completing a path with a beginning, a middle, and documented proof.

When the factory itself becomes a research subject

Perhaps the most compelling part is this: LabTech does not just build software; it studies its own model for building software. There is a systematic literature review on software factories—the team looking at itself through a scientific lens and asking what works and why.

The research also leads to concrete capstone projects. One of them is a RAG project that scrapes legal content from Brazil’s Federal Supreme Court (STF) using Scrapy and Playwright, then answers questions based on that material. From the call for applications to RAG, the same student follows the entire path: engineering, product, and research.

What remains

At its core, LabTech is a bridge. On one side, there is the university and the time to learn through mistakes. On the other, there is industry and the expectation to deliver. In the middle, student squads write code that runs, test what they write, and document how they made decisions.

It is not a simulation. It is the real thing, at the scale of people who are still learning—which, when all is said and done, is the best time to build for real.

Did you enjoy this article?

Share it with your friends and help spread knowledge!