Multi-tenant B2B platform · Pharmacy operations
MEIA Global Platform
MEIA brings organisation, subscription, pharmacy, people, assignment and approval rules into one governed platform. Its central design choice is to derive authority and readiness from current operational facts instead of trusting a title or a stored status.
- Next.js
- Multi-tenant SaaS
- Role & scoped authority
- EN/SV bilingual
Fictional data. Runs in your browser.

The problem
A pharmacy group is not one flat account. It contains customer boundaries, multiple pharmacies, subscriptions, capacity limits, people and responsibilities that change over time. A useful platform has to answer not only who someone is, but which organisation and pharmacy they may act for, under which active assignment, and whether the organisation is ready for the next operation.
MEIA was engineered around those connected questions. Instead of scattering them across screens, the Core system makes tenancy, entitlement, approval and readiness part of the same operational model.
How the platform works
Readiness and gap resolution: fourteen requirements are evaluated from the current setup. Every unmet requirement points to the screen that can resolve it, so the status is actionable rather than decorative.
Subscription, capacity and entitlement governance: a customer reaching its pharmacy allowance sees the relevant numbers and a clear vendor-owned resolution path. Capacity is treated as a business rule, not as a generic error.
Proposal and approval: a Team Leader may propose a person and responsibilities, but the request grants nothing while pending. A Manager may remove a proposed responsibility during approval, but cannot add one that was never requested.
Assignment scope and revocation: responsibility exists only through an active, time-bounded assignment. Ending it narrows authority immediately and may reopen the readiness requirement that assignment had satisfied.
Readiness as a computation
Readiness is not stored as a verdict that can drift away from the organisation it describes. On every read, the platform evaluates fourteen requirements against current pharmacies, people, assignments, subscription state and entitlements.
The result explains both what is missing and where to fix it. That design keeps readiness aligned with changing operational state and turns a status page into a resolution map.
Architecture built around business rules
The platform separates domain rules, application orchestration, infrastructure adapters and presentation. Ports define the capabilities the application needs; adapters implement them; and a composition root checks adapter shapes before the system is wired. Automated boundary checks protect the separation so business behaviour does not quietly migrate into UI or persistence code.
That structure matters because the difficult rules cross screens: tenant boundaries, time-bounded assignments, approval transitions, entitlement checks and readiness resolution must agree wherever they are used. Keeping the rules in the domain and application layers gives those decisions one executable home.
The product interface is available in English and Swedish. This product bilingualism is distinct from the English and Arabic presentation of this portfolio.
For the self-contained portfolio demo, MEIA alone reuses the product's verified domain and application layers. Its infrastructure adapters were rebuilt in memory against the same port contracts, with browser-session persistence for a reviewable fictional world.
Evidence in the behaviour
The strongest evidence is visible in how one change propagates through the system. Approving a proposal can create the permitted responsibility; ending an assignment removes its scope; readiness then reflects the new state instead of preserving an old answer. Capacity and entitlement checks likewise produce business-specific resolution paths.
The public demonstration focuses on those connected behaviours. It uses invented organisations and people and does not require access to a production system.
Screens from the governed workflow
The sequence follows one governed organisation: its operational overview, the readiness gaps and their remedies, a Manager's recorded decision, an assignment that has ended, a subscription limit that blocks a task, and the same overview in Swedish on the dark theme. Together the screens show the same domain rules appearing as operational decisions rather than as isolated interface features.
Evidence gallery

The customer's operational overview: readiness per pharmacy, the subscription capacity in use, the people in scope, and any decision still waiting. 
Each unmet requirement names what is missing and links to the screen that resolves it, so readiness reads as a resolution map rather than a score. 
A request grants nothing until an authorised Manager approves it, and the decision is recorded together with what was actually granted. 
Authority exists only inside an active assignment window; an ended assignment stops operational access and stays in history. 
Reaching the subscription allowance is answered as a business rule with an owner, not as a generic error. 
The same operational overview in Swedish and in the dark theme: the product is bilingual EN/SV, separately from this portfolio's English and Arabic.
Explore the demo
Begin with the CEO persona to follow readiness and a resolution link, then inspect the Manager and Team Leader sides of an approval. The guided review takes about five minutes.
The demo uses invented organisations and people, runs entirely in your browser, and is not connected to any production system.