A company in Sebairo lives in a workspace: dashboard, members and roles, projects, tasks, files, notes, calendar, activity and search, with permissions decided per role and per module. Creating one also creates the company's own group chat and a draft customer portal — the shell is never empty.
Jobs without a second profile
Companies post jobs with type, workplace and a salary range; people browse with filters and apply with their profile. The career card is the central profile itself — work title, education, city, skills, open-to-work — editable inline, with no separate jobs profile to maintain. Applications land in the employer's hiring queue with the cover note and a profile snapshot; decisions are stamped with who and when, and a rejection shows honestly on the applicant's own screen.
Hiring writes the paperwork
On 28 July the loop between 'hired' and 'working member' stopped being manual. Marking an application hired generates the employment contract from the job ad itself — position, employment type, workplace, compensation, company and candidate names; nobody retypes anything — posts it into a private chat between the decider and the candidate, and notifies them. The candidate signs by typing their full name, and the signature is announced in that same thread.
The rules live in the database, not in the screens. Only the candidate may sign, and only with a typed name. Only the company side may approve or withdraw. A signed contract can no longer be amended, and any other transition is rejected outright — a state machine enforced where a client bug cannot reach it.
Company approval is one transaction that finishes the job: workspace membership; the employees' group chat, with a welcome message; an onboarding task assigned in an Onboarding project; the employee record activated at the contract's salary; confirmations in the chat and in Activity. Payroll picks the new person up from there. The whole loop was verified over the live API — nineteen checks, both roles — including that HR cannot sign for the candidate and the candidate cannot approve for the company.
One set of books
Personal finance and company finance are the same engine — the same screen class over the same tables; the only difference is whose books are open. The app never sends an invoice total: totals are recomputed on the server from the lines, so a client bug cannot post a wrong amount. Marking an invoice paid posts the income automatically, and reopening it removes the entry — revenue cannot double-count or silently vanish. A won deal with a value even drafts its own invoice; it stays a draft, because sending and collecting remain human decisions.
Stock follows the same philosophy: quantity on hand is not a number someone edits, it is the sum of movement rows, recomputed automatically — a mistake is a visible row rather than a silent overwrite. A test deliberately wrote 999 into the quantity by hand and watched it corrected back at the next movement. Receiving a purchase order takes the stock in and posts the cost as an expense in the same finance engine; a paid marketplace order moves real stock, and a refund puts it back.
HR is built around who may see what. The directory fills itself when someone joins the workspace, everyone sees exactly their own record, and other people's records — salaries included — open only for those who manage HR. Paying people is spending money, so a paid payroll run posts its expense into the books. Verified from a staff account: one visible record, their own, and no path to anyone's salary.
A portal customers can buy from
Publishing your company puts it in the Business Hub directory, where customers browse, message the business, and order or book. The conversation is one thread per customer that the whole team answers — the customer simply sees the business, and the team's inbox notes, assignment and status stay invisible to them. Prices are read from the catalogue on the server, never from the customer's device, so a tampered price is ignored. And nothing is charged in the app: the confirmation says plainly that payment is arranged with the business.
When the business marks an order completed, one action moves the whole machine: the income is recorded in the books, linked stock moves, and the customer becomes a CRM client automatically, with the order in their timeline. From there the pipeline, the timeline and the workspace pulse tell the same single story the rest of the company already writes — which is the point of running it all in one place.