William Niemiec

Hi,
I'm William

i am into

About Me

About Me

William Niemiec - PMP | Full-Stack Developer | Ph.D. Student

I'm William Niemiec

PMP | Senior Full-Stack Developer | Ph.D. Student

William Niemiec has 5 years of experience as a full-stack developer and is a Ph.D student at the Institute of Informatics of the Federal University of Rio Grande do Sul (UFRGS) since 2024. He also works as a senior systems developer at Paytrack company in Brazil. He has managed several projects, as well as developed various systems, including back-end, front-end, and mobile applications. In parallel, he has been researching software engineering in healthcare since 2021, attending health conferences, and organizing workshops with healthcare professionals. His studies also include interoperability protocols such as HL7 and FHIR. He also has research interests in Software Engineering, Component-Based Software Engineering, Model-Driven Development, and Artificial Intelligence applied in healthcare.

+5

years of experience

+35

projects delivered

7

teams led

Skills & Abilities

Languages

CC
C#C#
C++C++
JavaJava
JavaScriptJavaScript
PHPPHP
PythonPython
TypeScriptTypeScript

Frontend

AngularAngular
BootstrapBootstrap
CSS3CSS3
HTML5HTML5
jQueryjQuery
NextJSNextJS
ReactJSReactJS
SassSass
TailwindCSSTailwindCSS

Backend

AdonisJSAdonisJS
DjangoDjango
ExpressJSExpressJS
FHIRFHIR
LaravelLaravel
NestJSNestJS
NodeJSNodeJS
Spring BootSpring Boot
WordPressWordPress

Mobile

FlutterFlutter
React NativeReact Native

Databases

FirebaseFirebase
MongoDBMongoDB
MySQLMySQL
PostgreSQLPostgreSQL

Infrastructure & Cloud

Apache ServerApache Server
AWSAWS
DockerDocker
GCPGCP
KubernetesKubernetes
NginxNginx
SentrySentry
UbuntuUbuntu

Artificial Intelligence

NLP, LLM, and MLNLP, LLM, and ML
Claude CodeClaude Code
GitHub CopilotGitHub Copilot
CursorCursor
Kilo CodeKilo Code

Tools

FigmaFigma
Git VCSGit VCS
GitHubGitHub
JiraJira
NotionNotion

My Education

College

Ph.D. in Computer Science

Federal University of Rio Grande do Sul | UFRGS

2024-2028 | Pursuing

College

Bachelor of Computer Science

Federal University of Rio Grande do Sul | UFRGS

2018-2024 | Completed

School

High School

State High School Piratini

2014-2016 | Completed

School

Elementary School

State Elementary School Dr. Gustavo Armbrust

2005-2014 | Completed

Some of my Projects

Automaton Reader

Automaton Reader

This is a project about automata. It consists of an application that allows you to perform certain operations on automata.

View Code
Barber Tracker

Barber Tracker

Application for people to find nearby barbers and schedule haircuts. It is developed using React Native.

e-Commerce Platform

e-Commerce Platform

An e-commerce website project built using PHP.

View Code
ExecutionFlow

ExecutionFlow

ExecutionFlow is a tool to trace executed test paths in Java code. The tool is based on the use of a debugger, aspect-oriented programming, and a testing framework.

View Code
Fitness Tracker

Fitness Tracker

A simple work out app made using React Native.

View Code
Learning Platform

Learning Platform

Website project about a learning platform built with PHP along with Selenium framework for testing.

Mobilex Compiler

Mobilex Compiler

A generic framework for cross-platform mobile development based on web language.

View Code
Forum Platform

Forum Platform

Forum is a simple web forum built with servlets and JSP pages along with Selenium framework for testing.

PacBros

PacBros

A PacMan game style with Super Mario Bros music.

View Code
PokeMaze

PokeMaze

Simple Pokémon themed maze game. The goal is to get the Pokéball. To do this, the player must first find the pikachu to clear the way to the Pokéball. Charizard (dragon) indicates where the Pokéball is.

View Code
Puzzle 5 Star

Puzzle 5 Star

Puzzle 5 Star is a puzzle game built with Ionic Framework along with Angular.

Shopping List

Shopping List

Website built with Ionic Framework along with Angular for a simple shopping system. This application was made for the sole purpose of learning the Ionic framework better.

SociaLine

SociaLine

Socialine is a simple client-server application inspired by how Twitter works. The main objective of its development was to deepen the knowledge of learning in concurrent programming and passive replication.

View Code
Social Network

Social Network

A simple social network website project built with PHP.

View Code
Takere

Takere

A no-code platform for the development of mHealth applications based on care plans.

Text Player

Text Player

This is a Java project whose functionality consists of generating sounds from any given text.

View Code
Travel Tracker

Travel Tracker

A mobile travel guide application built with Flutter Framework.

View Code
UniversiTask

UniversiTask

UniversiTask is an academic task manager focused on prioritizing tasks according to their deadlines. The big difference compared to other similar applications is that they focus more on tasks, while at UniversiTask the focus is on deadlines.

View Code

Experience

Senior Systems Developer

Paytrack | Full-time

Nov 2025 - Present

Full-stack Developer & Project Manager

Cognitiva Brasil | Full-time

Nov 2022 - Nov 2025

Teaching Practice

Federal University of Rio Grande do Sul | Internship

Oct 2024 - Jun 2025

Full-stack Developer

EVE | Freelance

May 2023 - Nov 2023

Full-stack Developer

AVIWA | Freelance

Mar 2023 - Nov 2023

Undergraduate Research Assistant

Federal University of Rio Grande do Sul | Internship

Feb 2020 - Oct 2022

Research & Publications

My research interests include software engineering in healthcare, interoperability protocols such as HL7 and FHIR, and artificial intelligence applied in healthcare. I also have a strong interest in component-based software engineering, model-driven development, and no-code development. Furthermore, I coordinate the Takere project together with Professor Érika Fernandes Cota from the Institute of Informatics at UFRGS, and Douglas Nuernberg de Matos, a clinical pharmacist at HCPA - Hospital de Clínicas de Porto Alegre. The Takere project consists of researching ways to improve patient treatment and follow-up by healthcare professionals through the use of AI techniques and software engineering. The project is interdisciplinary, uniting the fields of computer science and health.

8

publications

2

peer reviews

9

orientations

2

examination boards

2026

Improving Software Quality Through AI-Assisted Discovery in a Large Enterprise System
Brazilian Symposium on Software Engineering (SBES)

Improving Software Quality Through AI-Assisted Discovery in a Large Enterprise System

Large enterprise systems frequently evolve through continuous maintenance activities, changing business requirements, and contributions from multiple teams without corresponding updates to their technical documentation. Over time, this process leads to fragmented knowledge, reduced system understanding, and increasingly reactive maintenance practices. This paper reports the experience of restructuring the mobility module of Paytrack, a large-scale travel and expense management platform. To address recurring operational issues, a dedicated team conducted a systematic discovery and reverse engineering process combining collaborative code analysis, technical story decomposition, abstraction-oriented documentation, artifact generation through artificial intelligence, and continuous knowledge-sharing sessions. One of the main contributions of this initiative was the Abstract Sketch Strategy, an approach focused on representing complex system flows using higher-level abstractions to improve readability and reduce cognitive overload. After four months, the initiative resulted in a 75% reduction in bugs escalated to the development team and a 90.13% reduction in contact rate related to the module. Additionally, the initiative improved collective knowledge sharing and increased the maintainability of the system, making the team shift from a reactive development to a preventive one.

A Methodology for Generating Mobile Applications Through Large Language Models
IEEE/ACM 13th International Conference on Mobile Software Engineering and Systems (MOBILESoft)

A Methodology for Generating Mobile Applications Through Large Language Models

The creation of applications using Large Language Models (LLMs) is a fast-growing area in software engineering. While the need for mobile applications increases, few studies have been conducted to investigate how to generate them through LLMs due to the complexity of handling the mobile ecosystem. In this work, we present and validate a platform-independent methodology for generating and evaluating complete mobile applications from high-level natural language descriptions. Our approach uses a multi-agent LLM framework to manage a three-stage process. First, a detailed mobile app description is generated from a document written in natural language. Next, our methodology converts the specification into executable source code. After that, we evaluate the implemented features and the source code quality. This methodology is built on important principles, including chain-of-thought and role-playing. Our findings show that the methodology produces compilable, stable, and crash-free applications with high-quality source code. However, the rates of feature implementation varied, with many functions being incomplete or missing altogether, which may point out the current limits of fully automated generation. This work gives a standardized process and a reproducible benchmark for evaluating LLM-generated applications. More broadly, this methodology enables the creation of functional prototypes from a high-level app description, thereby accelerating the development workflow.

2025

Leveraging Natural Language Processing for mHealth Development: A Component-Based Approach Using Nursing Taxonomies
IEEE International Symposium on Computer-Based Medical Systems (CBMS)

Leveraging Natural Language Processing for mHealth Development: A Component-Based Approach Using Nursing Taxonomies

This paper proposes the definition of core components of the healthcare domain that can be used as basic building blocks for the development of mHealth applications. Using Natural Language Processing techniques, we systematically analyze all health interventions defined in the Nursing Interventions Classification taxonomy to define a comprehensive set of basic components. Our results show that it is feasible to define a finite set of core components from the nursing domain language that can be further composed into health care plans thus establishing a foundation for developing mHealth solutions with reduced technical effort.

Towards a component-based framework for mHealth apps: Bridging the gap between the nursing domain language and the computation domain
Journal of Systems and Software (JSS)

Towards a component-based framework for mHealth apps: Bridging the gap between the nursing domain language and the computation domain

Building an effective mobile health solution is challenging, requiring a strong technical foundation, close collaboration between healthcare professionals and developers, special attention to user experience, and ongoing maintenance. This paper explores the potential for a Component-Based Software Engineering solution tailored to mobile healthcare applications, aiming to reduce development costs and complexity. We first investigate the existence of shared elements and behaviors across different healthcare intervention strategies. Then we evaluate the possibility of creating a set of core, reusable elements based on the NANDA-NIC-NOC taxonomy, a standardized framework for nursing diagnoses, interventions, and outcomes. Our findings confirm that it is feasible to define core components derived from the nursing taxonomy. Additionally, we demonstrate that these components can effectively bridge the clinical–technical divide, thereby establishing a foundation for the development of customizable, patient-specific mHealth solutions with reduced technical effort.

Avaliando a qualidade de aplicativos de saúde através da metodologia uMARS e do uso de personas
Brazilian Symposium on Computing Applied to Health (SBCAS)

Avaliando a qualidade de aplicativos de saúde através da metodologia uMARS e do uso de personas

Mobile health applications have become popular tools for assisting users with self-care. However, there is limited evidence regarding their quality. This study evaluates free health applications using the User Mobile App Rating Scale (uMARS) methodology. By comparing app characteristics with the expec- tations of typical users, the research identifies factors influencing the adoption and retention of these solutions. The results reveal significant variability in app quality, particularly in usability, credibility, and alignment with individual user needs. These findings underscore the need for better alignment between health apps and user demands.

2022

Mobilex: a generic framework for cross-platform mobile development based on web language
Brazilian Symposium on Software Engineering (SBES)

Mobilex: a generic framework for cross-platform mobile development based on web language

Several mobile development frameworks allow developers to program a single code to run on different types of devices and operating systems. However, the application code is dependent on the chosen framework, making it difficult to reuse it when there is a need to migrate to other frameworks. This paper proposes a generic framework for cross-platform mobile development, which uses web technologies (HTML, CSS, and JavaScript) as a basis for application development. The use of this technology to define the application and its automatic translation to a platform-specific language makes it easier to produce and maintain the application on multiple platforms. This paper discusses the proposed approach and shows, through case studies, that it allows flexibility in the choice of cross-platform development framework, not being necessary to change the code already developed in case of change in the development platform. Video presentation: https://youtu.be/ZS152tXUqBQ

Artificial intelligence discrimination: How to deal with it?
Workshop on the Implications of Computing in Society (WICS)

Artificial intelligence discrimination: How to deal with it?

The emergence of artificial intelligence has brought many benefits to society through the automation of activities such as driving cars, product delivery, item classification, and predicting trends with a greater degree of accuracy. However, depending on how it is used, it may reflect persistent problems in society, such as discrimination. In this paper, we discuss discrimination by artificial intelligence. We begin by describing this problem and showing that it is a recurring and current problem. Then, we show the origin of this problem and propose a strategy to deal with it in order to prevent it from happening again. Lastly, we discuss future works and how the proposed strategy can be put into practice.

2021

ExecutionFlow: a tool to compute test paths of Java methods and constructors
Brazilian Symposium on Software Engineering (SBES)

ExecutionFlow: a tool to compute test paths of Java methods and constructors

Calculating the code coverage of a test suite depends on the identification of the executed test paths. Available code coverage tools are limited to a few basic tracing strategies and do not provide this information as proper test paths, precluding its use in further analyses. We present ExecutionFlow, a solution to trace executed test paths in Java code. The tool is based on the use of a debugger, aspect-oriented programming, and a testing framework. Through empirical validation we show that it is possible to obtain the test path from several methods and constructors, including high complexity ones. Video demonstration: https://youtu.be/2W5BjVuc6fw

Socials

William Niemiec © All rights reserved