Introducing the Form Builder: Bayanat v3.0.0

In November 2025, SJAC's IT team released Bayanat v3.0.0, marking one of the most significant updates to the platform since its inception. At the heart of this release is the new Form Builder, a feature that fundamentally changes how organizations can customize Bayanat to fit their specific documentation needs.

0:00
/0:08

Why a Form Builder?

Bayanat's data structure has always been purpose-built for documenting and investigating violations of human rights and international humanitarian law. Its three core entities (Actors, Bulletins, and Incidents) provide a solid foundation for organizing complex information. And over time, we've been steadily expanding the platform's customization capabilities to meet the diverse needs of our growing user base.

A key step in that direction was the introduction of Component Data, which gave administrators the ability to customize everything inside a field, like managing all the dropdown options, locations, labels, and all other values that populate Bayanat's forms. This meant organizations could tailor the content of their data collection to their specific context without touching any code.

However, the field structure itself remained rigid. Adding or removing fields in the core entities still required direct changes to the database schema and the application code, which is a process that demanded developer involvement and introduced risk with every customization. This made it difficult for organizations to quickly adapt the platform to new contexts or evolving project needs.

Meet the Form Builder

The new Form Builder replace the rigid, hard-coded field structure with a flexible, administrator-driven approach. Administrators can now configure custom fields and layouts for Actors, Bulletins, and Incidents directly through the application, no database migrations, no code changes.

The Form Builder is accessible via the Customize Database section in the System Administration menu, with a dedicated builder for each of the three main components: Bulletin Form Builder, Actor Form Builder, and Incident Form Builder. From there, administrators can create, edit, delete, and reorder custom fields, tailoring the data collection forms to match their exact requirements. The existing core fields remain intact, and most of them can now be hidden if they aren't needed for a particular project, keeping the interface clean and focused.

0:00
/0:12

Additionally, The Form Builder supports five field types that cover the most common data collection needs:

  • Short Text: up to 255 characters, ideal for names, titles, or brief identifiers.
  • Long Text: unlimited text length, suited for descriptions, narratives, or detailed notes.
  • Number: whole numbers only, for quantities, counts, or numeric identifiers.
  • Dropdown: single or multiple choice, for categorizing data with predefined options.
  • Date and Time: date with optional time, for documenting when events occurred.

Each field can be marked as required, ensuring data quality by preventing incomplete submissions. Fields can also be marked as searchable, which automatically integrates them into the relevant advanced search tool for that component. This means that once an administrator adds a new searchable field to Bulletins, for example, users can immediately filter and search by that field with no additional configuration needed.

0:00
/0:21

With the new capabilities of the Form Builder, an administrator can create these fields in minutes and immediately start collecting structured data and analyzing it without waiting for a developer to modify the database.

Under the Hood: Migration to uv

This release also included a significant architectural change on the backend. We migrated Bayanat's Python virtual environment and dependency management from the traditional approach to uv, a modern and significantly faster tool for managing Python environments and packages.

While this change is invisible to end users, it has a meaningful impact on the development and maintenance of Bayanat. The migration to uv streamlines dependency handling, reduces the technical debt that accumulates around Python packaging, and improves the long-term maintainability of the codebase. For teams deploying or upgrading Bayanat, the transition to uv also means faster and more reliable environment setup.

Looking Ahead

The Form Builder is a foundational step toward making Bayanat more adaptable and accessible to a wider range of organizations and use cases. We're excited to see how partners and users leverage this flexibility to tailor the platform to their specific documentation and investigation workflows.

For more information on Bayanat and how it can support your human rights documentation efforts, feel free to reach out to our team at info@bayanat.org