Paulo Moura is a software engineer with 16 years of IT experience who combines practical user-focused implementation work with deep expertise in Prolog and Logtalk development. Based in the Greater Ottawa area, he has contributed to high-profile open-source projects such as TerminusDB, Scryer Prolog, and SWI‑Prolog—improving core predicates, database query compilation, and JSON/triple-store handling. His background spans hands-on IT administration, ERP implementation, and software testing, giving him a strong user-support and deployment mindset alongside backend engineering skills. Known for refactoring legacy code and modernizing predicate implementations, he brings pragmatic improvements that enhance reliability and debuggability. Paulo’s blend of customer-facing experience and low-level language work makes him especially effective at translating real-world requirements into robust, maintainable systems.
16 years of coding experience
5 years of employment as a software developer
Informatic Technician, COMPUTER AND INFORMATION SCIENCES AND SUPPORT SERVICES, Informatic Technician, COMPUTER AND INFORMATION SCIENCES AND SUPPORT SERVICES at Escola Técnica Estadual
Algonquin College
Computer Information Management, COMPUTER AND INFORMATION SCIENCES AND SUPPORT SERVICES, Computer Information Management, COMPUTER AND INFORMATION SCIENCES AND SUPPORT SERVICES at Faculdade de Tecnologia de São Paulo
TerminusDB is a distributed database with a collaboration model
Role in this project:
Back-end Developer & Database Engineer
Contributions:33 commits, 42 PRs, 25 comments in 5 months
Contributions summary:Paulo primarily focused on optimizing and refactoring the codebase, particularly within the database interaction and query compilation modules. Their work involved improvements to predicate definitions and expansions, replacing deprecated predicates, and refactoring code related to JSON handling and triple store operations. They also contributed to the integration of logging and debugging functionalities.
A modern Prolog implementation written mostly in Rust.
Role in this project:
Back-end Developer
Contributions:2 reviews, 19 commits, 29 PRs in 2 years 11 months
Contributions summary:Paulo primarily contributed to the core implementation of the Scryer Prolog interpreter. Their work focused on enhancing the built-in predicates, including adding features like `forall/2` and `max_arity` and fixing existing ones such as `retractall/1` and `current_predicate/1`. They also addressed several bugs related to flag querying, instantiation errors, and stream positioning, as well as adding new predicates such as `make_directory_path/1` and `delete_directory/1` to the file library.
Find and Hire Top DevelopersWe’ve analyzed the programming source code of over 60 million software developers on GitHub and scored them by 50,000 skills. Sign-up on Prog,AI to search for software developers.