HubThe control center behind business applications built by Implemented.Today
Keep small changes small.
Hub is where teams shape the business applications Implemented.Today builds for them. Entities, fields, pages, menus, permissions and branding are settings, not development tickets. Publish a change to an environment and keep code for the work that truly needs it.
less(0.08, …)
Try it. Every control here is live.
- Field label Due to Due date
- Menu Carriers moved above Invoices
- Page Shipments now offers Export
- Role Viewer can no longer open Invoices
- Formatting Cost at or above revenue shows in orange
- Form Delay reason appears only when Status is Delayed
- Branding New favicon, pushed to Test first
- Field Customer is now required
- Column Margin pinned right, width 120
01Hub and the application
Hub holds the decisions. The application does the work.
Every business application Implemented.Today builds reads its structure from Hub: which entities exist, which fields they carry, which pages and menus people see, who may open what, and how the application presents itself.
Decided in Hub
- Entities and fields
- Pages
- Menus
- Filters
- Roles and permissions
- Branding
- Available features
Environments
- Development
- Test
- Production
The client application
Example application
When a requirement goes beyond configuration, Implemented.Today extends the application itself.
A
Configuration for the routine
Rename a label, add a field, reorder a menu, decide who may open a page. These are settings, and people who know the business can make them in Hub.
B
Code for the exceptional
Configuration is not a ceiling. When a requirement needs logic or an integration Hub cannot express, the application is still a codebase that Implemented.Today extends.
C
Separate by design
Projects and their environments are managed separately. Every push names its environment, so a change can be checked in one before it reaches another.
Hub's own screens run on the same configuration model it manages.
02From entity to page
Describe a record once. Every view follows.
An entity describes one kind of record. Its fields decide how that record is entered, checked, calculated and shown. Follow one entity, Shipment, from definition to a page people use every day.
-
Step 1 / 5
Start with an entity
Create it from scratch or from an entity template. Fields inherited from the template stay in step with it. Anything you set on the entity itself overrides the template value.
-
Step 2 / 5
Give every field its rules
Type, label, default value, validation, visibility, editability, options and formatting all live on the field. So do formulas: Margin is calculated from Revenue and Cost, never typed in.
-
Step 3 / 5
Fields become columns
Visible fields line up as grid columns, in order. Column groups set the headings above them, and each column carries its own width, sorting, filtering, editing and formatting.
-
Step 4 / 5
The same fields become the form
Column groups turn into form sections, required fields are marked, defaults fill in. A field can appear only when it applies: Delay reason shows when Status is Delayed.
-
Step 5 / 5
Put it on a page, and in the menu
A page chooses the entity, the filters and features it offers, and who may open it. A menu item gives the page a title, an icon, a position and, when it helps, a parent.
03The controls
A precise control for every routine decision.
The things people ask to change most often are settings in Hub, each in a predictable place. Choose one to see what it governs.
Example configuration · fictional application
- Label
- Margin
- Visible
- Yes
- Width
- 120
- Pinned
- Right
- Sortable
- Yes
- Set filter
- Yes
- Editable
- No, calculated
- Column group
- Billing
- Enable row group
- Yes
- Format
0.0%- Alignment
- Right
Column groupSections come from each field's column group.
Required fieldCustomer must be filled in before saving.
Default valueNew shipments start as Booked.
Presented in form conditionDelay reason appears only while data.status === 'delayed'
People save their own views of columns, filters, grouping and sort, privately or for the team, and reorder them as they go.
| Page | Coordinator | Finance | Viewer |
|---|---|---|---|
| Shipments | Open | Open | Open |
| Carriers | Open | Hidden | Hidden |
| Invoices | Hidden | Open | Hidden |
| Lanes | Open | Hidden | Hidden |
Configuration areas in Hub
- Entities and entity templates
- Pages and menu items
- Environments
- Push changes
Each role carries its own permissions and page access, and people get roles per project.
- Title
- Freight Desk
- Logo
- freight-desk-logo.svg
- Favicon
- freight-desk-icon.png
Two fictional applications, one configuration center.
Shipments page
- Quick filters
- Saved views
- Bulk update
- Bulk delete
- Import
- Export
- Detail sidebar
- Record history
- Add new records
Available for this project
- Entities
- Pages
- Menu
- Filters
- Dropdown settings
- Documentation
Projects choose which configuration areas and pages they use. Pages choose what people can do on them.
04Working with dense information
Spot the exception. Keep the context.
A long list becomes readable when the application does the scanning. Formatting rules, formulas and grouping are set on the fields, so everyone sees the same signals in the same places.
| Shipment | Route | Billing | ||||||
|---|---|---|---|---|---|---|---|---|
| Reference | Customer | Status | Carrier | Lane | Due | Revenue | Cost | Margin |
Rule · Cost
Cost at or above revenue.
greater([revenue], #FF5A1F, #141412, 700)
Rule · Reference
Delayed shipments stand out by reference, based on another field.
equals(delayed, #141412, #FF5A1F, 700, [status])
Rule · Margin
Margin at 8% or less.
less(0.08, #FF5A1F, #141412, 700)
Formula · Margin
Calculated on every row, formatted as 0.0%.
(data.revenue - data.cost) / data.revenue
Where a page enables them, people can also act on what they find, without losing their place.
- Bulk update
- Change a field across every selected record at once.
- Import and export
- Bring records in from a spreadsheet and take selected rows back out.
- Detail sidebar
- Read and edit one record beside the list, not instead of it.
- Record history
- See what changed, from what, to what, by whom and when.
05Publishing and rollback
Push on purpose. Keep a way back.
- 01
Change
Edit entities, fields, pages or menus in Hub. Nothing reaches the application yet.
- 02
Push
Choose the environment. Push one entity, every entity, or the project settings that carry pages, menus, filters and branding.
- 03
History
Hub logs each push with its time, environment, author and result, for entity and project-setting changes alike.
- 04
Roll back
Select an earlier entity push and republish it. The environment receives that configuration again, and the rollback is logged as a push of its own.
Push logs
Production Example history · fictionalShipments in Production
Running push #214
Select an earlier Shipments push to roll back to it
06AI assistant
Say what should change. Review what is prepared.
Hub's assistant turns a plain-language request into configuration: a new field, a page, a menu entry or a formatting rule. It prepares the change for your review and publishes nothing on its own.
Pushing stays a deliberate step, with the same environments, history and rollback as every other change.
Request
Add a Delay reason field to Shipments. Show it only when Status is Delayed, and put it in the Route section of the form.
Prepared for review · draft
- +Field Delay reason
delay_reason, typemultiline - +Presented in form when
data.status === 'delayed' - +Column group Route
- =Nothing pushed. Waiting for your review.
07Start
Bring the list of changes your team keeps waiting for.
Hub is the control center behind the business applications Implemented.Today builds. Tell us what your application needs to track, who works in it and what keeps changing.
Sign in with Google or with email and password. New accounts need an administrator's approval before they can open a project.