Forms Design

Allow your users to enter data using modern input elements. Configure data types and visual UI elements with constraints.

  • text field
  • text area
  • checkbox
  • radio button with images
  • drop down list
  • date, time, year, month
  • password
  • email
  • URL
  • speech-to-text: the user speaks into his microphone and speech is automatically converted into text inside a textarea.
  • autocomplete: as the user enters characters into a field, possible matching options are shown.
  • image: the user uploads an image file or take a picture with his device camera.
  • audio: the user uploads an audio file or speaks into his device microphone.
  • file: the user uploads one or several files of any type.
  • reference: the user insert a reference to another record.
  • default values: auto values such as current date, current time, randomly generated IDs or invoice numbers.
  • formulas: complex SQL formula can be used to automatically calculate field values.
  • tabs: related fields can be grouped into tabs inside the form.
  • read-only: fields can be set as editable or locked.
  • mandatory: fields can be set as mandatory.

Data Navigation

Data is displayed in a rich tabular format for decision-making.
  • master/detail navigation
  • fields toggling
  • sorting
  • realtime data filtering
  • predefined filters with complex and/or conditions
  • search box
  • fields ordering
  • export to Excel, CSV, PDF
  • print preview
Users can analyze data by drilling into relationships between records. This allows to analyze the details of a particular record. Transitive relationships allow advanced data analytics. If a record a is related to a record b, which in turn is related to a record c, then the user can navigate from the record a directly into c. Such a jump can be made over an unlimited number of relationships.
  • master/detail navigation
  • multi-level drilling up and down
  • transitive relationship between records
HTML5 charts can be generated for any data set being visualized. When the user applies a filter on the data, the chart is updated accordingly. Statistics are numerical aggregation performed on any selected set of data.
  • supported charts: line, bar, pie, spline, area, average, areaspline, columns, scatter, series.
  • supported statistics: sum, average. minimum, maximum, count.

Data Manipulation

Users can attach documents to each single data record in a table. Any type of file can be uploaded to the documents gallery. Documents can be made public or private to users. Users can view images as a slideshow.

  • documents gallery
  • documents sharing between users
  • documents search
  • images slideshow

Sofiiâ„¢ automatically audits changes made by users to data records. The old values are stored and users can access the changes history and rollback the record to a previous version.

  • records change history
  • rollback to older version of data
  • audit of changes and author of changes

Sofiiâ„¢ integrates a trash bin where deleted records are stored and can be permanently removed.

  • move data records to trash
  • restore deleted records
  • permanently destroy records from trash

Model Design

You model business data using the concept of resource.

A resource represents a business entity that can be managed in the application. Examples include customers, orders, invoices, stock, shipments. Resource data is stored as a table in a relational database.

Fields of the table represents resource attributes such as invoice number, customer name, product price.

Furthermore, you can attach documents to resource data such as contracts, price lists, receipts.

The company’s organization structure can be modeled inside the application. You can assigned resources and users to a specific organizational unit.

Sofiiâ„¢ uses a fully relational database to store configuration data and business data. Documents and files are stored on the file system in a secured directory.

All common data types are supported. They are associated with visual elements for interaction with the user within a form.

  • text
  • number
  • boolean
  • date and time
  • file

User Management

Sofiiâ„¢ can handle a large amount of users. Users can have any kind of attributes, not only predefined attribute types such as name, email, password. You can use any resource (table) for user authentication. This allows you to define multiple types of users.

Several authentication methods can be enabled on the fly. You can assign different methods for authentication to users. Some users can use a basic authentication while other users have to use a strong one.

  • basic authentication: user enters an email and password.
  • 2-Factor authentication: after basic authentication, the user should enter an SMS token, a voice token or a smartphone token. Authy service is used for this type of strong authentication.
  • QR authentication: the user uses his device camera to read a printed QR code containing his credentials.
  • SMS authentication: user provides an email and enters a token received on his phone.
  • PIN authentication: after QR and SMS authentication, user should additionally enter a PIN.
  • Credentials expiration period: Sofiiâ„¢ allows to setup an expiration period for passwords, QR secrets, PIN codes and SMS token. Prior to the expiration, the application reminds the user to change the credentials.
  • Concurrent login: You can allow concurrent login for a user. This allows him to log in on several computers simultaneously. This features helps you implementing a user-based license model.
  • IP address and domain control: you can define an IP address mask or internet domain mask of computers from which the user can access the application.

You can get detailed insights into each user’s activity inside your application. You find out who your most active users are and which areas of your apps are most frequently accessed.

Access Control

  • Super users have a full access to the application and can manage users.
  • Normal users can access resources according to their access rights.

Organizational units represent a tree structure of your company. You can assign a root organization to the user. He will get access to data created in that organization and its child organizations.

You can define access right on virtually anything in your application. Access rights can be combined or applied on cascade. Thus, a user can have view access on a table, but is allowed to edit only specific fields.

  • resources (tables)
  • resource attributes (table fields)
  • sheets (data views)
  • filters
  • charts
  • statistics
  • custom actions

You can define the access level a user should have on an item.

  • view
  • insert
  • update
  • delete
  • commit
  • rollback
  • export
  • import
  • execute



Sofiiâ„¢ employs industry-standard Secure Socket Layers (SSL) protocol to ensure that your information is never intercepted nor corrupted during transmission over the internet.


Documents uploaded by users are encrypted using OpenSSL and the AES-256-CBC cipher before being saved on disk.


Sofiiâ„¢ runs on Amazon Web Services, named leader in cloud security. AWS gives the tools to protect your application and data.

Integration and Extensibility

If you are a traditional developer, custom actions gives you high control over your application. After designing the core components visually, you can implement complex business logic using JavaScript and HTML code. Sofiiâ„¢ and applications created by Sofiiâ„¢ use industry standard frameworks as their foundation. Developers can extend the application in their favorite IDE by embedding some of the numerous packages available in developer communities.

With advanced templating, you can enhance your forms and reports. Convert your existing HTML/CSS/JavaScript, MS Word, MS Excel files into views.

  • execute complex SQL queries for reporting
  • trigger events on creating, updating or deleting data records.
  • access and manipulate application data.
  • send email/SMS notifications to users.
  • leverage web development frameworks.
  • Include Laravel packages.
  • Create your own views to customize the user interface. Make use of CSS.
  • Improve client-side logic with jQuery.

Sofiiâ„¢ comes with a well-documented REST API that allows virtually any programing language to interact with your data. Internal systems, services, web applications and mobile applications can be integrated with your application.

  • use your application as a mobile backend as a service (mBaaS) for mobile applications.
  • incorporate external systems or services.
  • integrate your application with your existing systems.
  • secure data transfer with HTTPS.
  • remotely user registration, login and data manipulation.

User Experience

You can create apps translated automatically in several languages. Choose the supported languages and let button titles, field titles and system messages get translated for you. Manage and improve translations. Let users choose their default language on runtime.

Create various look and feel in your application. Create multiple CSS themes.Users can choose the skin they want any time.


You can choose a layout that fits with your business. Include static web pages in your application. create your own menus. Let your application have one of the following layouts: desktop, Android, iPhone, Windows, web with top menu, web with left menu, web with tree menu.


Users can bookmark pages for rapid access. Bookmarks are private to the user. They are displayed as a dashboard in the home screen of the application.

Need to get started?

Request a free trial    Pricing