Automation turns your prompt into a microservice: a working application, a database, and a standard JSON:API. For example, this creates a complete system (see the video, below):
Create a system with customers, orders, items and products.
Include a notes field for orders.
It simply cannot be faster or simpler.
Working Software in 60 Seconds means Instant Collaboration
Eliminate weeks to months of complex framework coding, db design, or screen painting.... just to find misunderstandings
Simplicity empowers Business Users to test their own ideas
Iterate 15 times... before lunch
Empower UI Developers with running API, providing logic and security. Use your favorite tools: conventional framework, AI/Dev, or JSON-aware Low Code.
Backend logic for logic and security can be as much as half the effort. GenAI-Logic provides declarative logic to address this using spreadsheet-like business rules, in Natural Language or Python.
You can express Declarative business logic in Natural Language:
1. The Customer's balance is less than the credit limit
2. The Customer's balance is the sum of the Order amount_total where date_shipped is null
3. The Order's amount_total is the sum of the Item amount
4. The Item amount is the quantity * unit_price
5. The Item unit_price is copied from the Product unit_price
Or, you can express them using Python, with IDE services for code completion. See the example in the next section.
In addition to declarative logic, you can also add custom logic, leveraging the full power of Python and its libraries.
The 5 rules represent the same logic as 200 lines of Python: 40X more concise. This represents a meaningful advantage in time to market, transparency, and maintenance.
You can also declare security:
Authenticate, using a SQL database, or configure Keycloak for Single Sign-on and login using social accounts such as Google or Facebook.
RBAC (Role Based Access Control): declarative row filters for roles, ensuring they see only authorized data. For example, focus sales on high-value accounts:
Grant( on_entity = models.Customer,
to_role = Roles.sales,
filter = lambda : models.Customer.CreditLimit > 300)
The systems created are not throw-away prototypes. They provide a robust 3-tiered architecture, and can be customized with standard development tools.
Customize and iterate:
Download the created project, and customize in your IDE.
Use standard Python: e.g. provide Application integration (custom APIs and Kafka messaging)
Created projects are model-based, so the code easy to debug and customize:
The API is 1 line per table
The App is a json file (no Java Script, HTML, ...)
The logic is expressed in declarative rules. For example, the Natural Language logic above is translated to (or can be directly entered as) Python:
# Ensures that a customer's balance is less than their credit limit.
Rule.constraint(validate=Customer,
as_condition=lambda row: row.balance <= row.credit_limit,
error_msg="Customer balance ({row.balance}) exceeds credit limit")
# Calculates the customer's balance - sum of the unshipped orders' total amounts
Rule.sum(derive=Customer.balance, as_sum_of=Order.amount_total,
where=lambda row: row.date_shipped is None)
# Calculates the order's total amount as the sum of its items' amounts.
Rule.sum(derive=Order.amount_total, as_sum_of=Item.amount)
# Calculates the item amount as the product of its quantity and unit price.
Rule.formula(derive=Item.amount,
as_expression=lambda row: row.quantity * row.unit_price)
# Copies the unit price of the item from the associated product.
Rule.copy(derive=Item.unit_price, from_parent=Product.unit_price)
A fast start is great, but delivering value requires systems integration:
Project can access multiple databases, including Sql/Server, Postgres, MySQL, Oracle, etc.
Extend the API to provide Custom Endpoints
Kafka Message Integration, to publish changes, and listen for changes
Multiple Database Support, so your project can integrate multiple databases
Created projects include scripts to create standard containers, providing
Scalability
Flexibility - deploy anywhere