Chapters

Public editorial draft · October 7, 2026. Print this page for the complete paper.

Abstract

Filmclusive is production coordination software organized around persistent people and the temporary contexts in which they work. Its immediate center is a useful crew directory: sharing appropriate contact information, organizing work, and communicating with the right people. Scheduling, staffing, call sheets, creative resources and approvals connect to that center. Professional identity survives the end of a production.

This paper explains the boundaries that make those connections understandable. Person differs from Profile. Membership differs from Assignment. Role describes work rather than permission. Audience describes targeting rather than authority. A Resource can carry production context and immutable versions while a shared Workflow provides review mechanics. Today and Websites compose or publish projections without taking ownership of canonical source records.

The technical architecture separates clients, edge responsibilities, application execution and persistence. The web application uses React and Next.js. The Next.js Node runtime is hosted on Google Cloud Run behind Cloudflare. Firebase and Google Cloud provide identity, canonical records, storage and background workloads. Native iOS migration, a Tauri desktop shell and a stateless MCP service share server contracts while retaining different interfaces and coverage.

This is a curated explanation, not a source mirror or an assertion that every architectural direction is released. Implementation, scoped verification and production acceptance are different claims. The evidence page states their limits. Representative contracts in this paper are independently authored conceptual examples; they do not reproduce internal interfaces.

I founded Filmclusive and designed its product model and architecture. I implemented and integrated its systems using AI-assisted engineering workflows. I remain responsible for implementation decisions, debugging, testing, security boundaries, infrastructure and release decisions. The production repository remains private and remains the engineering source of truth.

1. Production software as a relationship problem

Coordination starts with people

A film Production is a temporary organization. Development brings producers, writers, directors and financing into focus. Pre-production adds hiring, casting, availability, locations, scheduling, department preparation, equipment and approvals. Shooting coordinates Production Days, call sheets, specialized departments, presence and changing plans. Post brings editorial, sound, music, VFX, color and review forward. Delivery connects masters, marketing, distribution and archival.

These stages overlap. Different people become relevant at different times. Crew size depends on production type, budget, geography, schedule and creative requirements. The interactive examples use illustrative small, medium and large structures; they are not industry averages or staffing standards. There is no universal crew hierarchy.

Two graphs and a fragmented toolchain

Organizational structure describes who belongs where: Production, Department, Department Head and Department Crew. Communication structure describes who needs to exchange information for work to happen. A DP belongs to Camera but also coordinates with Directing, ADs, Grip, Electric, Art, Sound, Production, Script Supervision and Post. A pure org chart cannot capture all those relationships.

Coordination is often spread across phone contacts, text messages, email, social media, PDF call sheets, spreadsheets, calendars, cloud storage, messaging apps, job boards, paperwork services, specialized tools and word of mouth. Get hired, join, prep, shoot, wrap, then repeat the handoffs on the next job. Professional identity is repeatedly re-entered even when two people already share a known Production context.

The production explainer makes these structures interactive. Its role perspectives and information matrix show why a PA’s operational needs, an AD’s broad coordination and a client’s review access are different. Those examples are educational, not rigid permission policies.

Same Production means relevance within authorized context. It can support discovery, in-app communication where permitted and contact fields the Person allows to be visible. It does not imply access to every private contact field. Contact requests and a deliberate Save to My Roster action support persistent professional relationships separately from temporary membership.

Production work moves through temporary teams, dates, creative artifacts and changing obligations. A contact list answers who someone is; a work assignment answers what they do in a particular production. Neither alone answers who should receive tomorrow’s update, who is called for a day, or which version a reviewer approved.

A feature-by-feature model can accidentally create several representations of the same person. Staffing has a candidate, a call sheet has a recipient, a conversation has a participant, and a resource has a reviewer. These representations have legitimate local responsibilities, but they need explicit connections to persistent identity and current production participation.

The architectural thesis

Filmclusive keeps identity, participation, descriptive work, time and authority distinct. A Production supplies operational context. Membership connects a person to that context. Assignments describe one or more jobs. Groups organize work. Production Days tie intended work to operational time. Resources connect the people and context to what they are working on.

The conceptual vocabulary also includes Space, Workflow, Audience and Relationship. It is a vocabulary for explanation, not a claim that every concept is implemented as one universal database object. In particular, a shared Space concept does not erase differences between Production, Team and Community ownership.

A coordination path

Consider issuing tomorrow’s call sheet. The production and day provide context. Assignments describe the intended work. The schedule describes timing. An issued sheet freezes relevant content and recipients. Acknowledgement records an explicit response; presence records participation. Each stage contributes a different fact.

This separation costs more than a single spreadsheet-shaped record. Queries need deliberate joins and projections, and users need clear navigation between related records. The benefit is that replacing a work assignment does not recreate the person, viewing a sheet does not record arrival, and communicating with a group does not silently grant authority.

2. Persistent professional identity

Person and Profile

Person describes durable professional identity. Profile is an editable presentation of that identity. Biography, public discoverability and selected professional information may change while production history continues to refer to the same person. A public profile is therefore an inappropriate sole authority for operational participation.

Production contact presentation also has its own scope. Information visible in one production should not automatically become public biography or a reusable personal contact. The identity connection does not remove privacy decisions at those presentation boundaries.

Participation is contextual

Membership answers why a person belongs to a particular collaboration context. It has a lifecycle distinct from both identity and work. A person may belong before receiving an assignment, perform several assignments, or retain participation while work changes.

The public model deliberately does not equate every production person with a software account. Professional identity, application sign-in and current participation answer different questions. The details of identity reconciliation and invitation security remain private; the explanatory boundary is enough to understand the design.

Relationships persist deliberately

Personal Roster records a retained professional relationship. Shared production work provides context for knowing someone, but the production membership itself is not that relationship. Saving a coworker is a separate operation with appropriate contact review.

This produces a path from temporary work to persistent professional context without turning every production directory into a permanent personal address book. It also lets a future production refer to the same professional identity while creating fresh participation and work.

Cost of the separation

Identity, profile and relationship projections require consistent reference handling and understandable editing surfaces. A design that separates records but gives users no explanation of where a change belongs is still difficult to operate. The architecture must preserve ownership while the interface presents the relevant context compactly.

3. The Production graph

Membership is not Assignment

Membership is participation. Assignment is descriptive production work. One member can have no assignment, one assignment or several. Role, department, groups and work period belong to the description of work rather than being treated as a single permanent identity attribute.

A change from one job to another should preserve the member and person. Replacement and reporting relationships describe work and retain history. They should not silently rewrite participation or imply that the replacement inherits the original worker’s authority.

Groups organize work

A Production Group can represent a unit or working team. Generic organization avoids inventing independent lifecycle systems for every common grouping. Assignments can reference groups, and an audience can use eligible group context when targeting communication.

Generic does not mean unlimited meaning. A group is still scoped to its production. Parentage, membership and leadership are descriptive relationships. They do not automatically grant access, reporting authority or administrative permission. Department is another useful classification, not a substitute for explicit authority.

Assignment is not Task

A task is an actionable obligation: make a correction, supply a document or complete a specific action. An assignment describes the production work a person performs. Completing a task does not complete a job; changing a job does not complete every related obligation.

interface ProductionAssignmentExample {
  membershipId: string;
  roleLabel: string;
  departmentLabel?: string;
  groupIds: string[];
  reportsToAssignmentId?: string;
  replacesAssignmentId?: string;
}

This independently authored example communicates relationships. It is not an internal schema, state machine or accepted API payload.

Tradeoff

Separating participation and work introduces additional reference handling, history and projection work. It makes multiple jobs and changing work intelligible. The important acceptance question is whether the separation survives ordinary operations: replacing work, archiving a group and displaying historical context without manufacturing new people.

Production graphMembership is not Assignment. Assignment is not Task. Role is not Permission. Group membership does not grant authority.Person participates through Production MembershipProduction Membership belongs to ProductionProduction includes participation Production MembershipProduction Membership identifies PersonProduction Membership performs work through Production AssignmentProduction Assignment retains participation Production MembershipProduction Assignment describes work as RoleProduction Assignment classifies work in DepartmentProduction Assignment belongs to / leads Production GroupProduction organizes work in Production GroupProduction Assignment is called for work on Production DayProduction owns operational Production DayProduction Day records PresenceProductionThe film or project everyone works onMembershipWho belongs to this productionPersonThe person behind every jobGroupPeople working together on a unit or taskAssignmentWho does which job, and whenRoleThe job: gaffer, actor, casting directorDayOne day of production workDepartmentThe team: lighting, camera, castingPermission / CapabilityWhat someone is allowed to doPresenceWho has arrived or wrappedTaskAn actionable to-do obligation.
Connections in words
  • Person participates through Production Membership
  • Production Membership belongs to Production
  • Production includes participation Production Membership
  • Production Membership identifies Person
  • Production Membership performs work through Production Assignment
  • Production Assignment retains participation Production Membership
  • Production Assignment describes work as Role
  • Production Assignment classifies work in Department
  • Production Assignment belongs to / leads Production Group
  • Production organizes work in Production Group
  • Production Assignment is called for work on Production Day
  • Production owns operational Production Day
  • Production Day records Presence

4. Context, permissions and audiences

Authentication is not authorization

Authentication identifies an actor. Authorization decides whether that actor may perform a particular action in the current context. A valid sign-in does not establish authority over a Production, resource, conversation or workflow decision.

Role names describe work. They are useful for people and for organization, but a Director or Department Lead label is not sufficient evidence of a software permission. Current scoped capabilities and subject policy remain the authority boundary.

Audience describes intent

Audience selects intended recipients or reviewers. An audience may refer to people, assignments, groups, roles or dynamic operational context. That answers whom something targets. It does not answer whether each selected person can read the subject or perform the requested action.

For example, everyone called today may be a sensible update audience. A creative resource linked to that day can still have a narrower visibility policy. Targeting people with an update cannot make a private resource public to them.

Authority remains server-owned

The UI presents available actions, but hiding a button is not authorization. A read model can suggest that an obligation exists, but it is not canonical permission truth. Domain execution must evaluate current authority at the relevant source boundary.

This paper intentionally describes these responsibilities without publishing exact security-control configuration, private transport headers or operational recovery mechanisms. Those details are unnecessary for understanding the distinction.

Costs and consequences

Audience resolution and authorization can require separate work, even when they concern the same people. Changes in participation, scope and source visibility complicate cached views and delayed effects. The resulting model is more explicit: a recipient is not automatically a participant, an observer is not automatically a conversation member, and a descriptive job title does not silently elevate access.

The public evidence is scoped local implementation and verification. It is not a claim of complete production penetration testing or proof that every configured integration has passed hosted acceptance.

5. Time as an operational primitive

Several facts about time

Availability answers whether a person can work during a proposed period. Conditional responses and alternatives can inform planning without becoming a commitment. Staffing turns that evidence into intended work through its own lifecycle.

Assignments describe the job and a broad work period. A Production Day describes an operational day. Schedule describes the sequence and timing of planned work. Call Sheet describes an issued projection of that plan. These facts are connected, but they cannot safely be collapsed into one calendar event.

Publication is versioned

An issued call sheet needs to identify the content and context the recipient actually received. Revising the plan creates a new publication question rather than changing the meaning of an old acknowledgement. Review of a draft and publication of the issued version remain distinct actions.

Queueing a delivery does not prove that a provider delivered it. Delivery does not prove that a person viewed it. Viewing does not prove acknowledgement, and acknowledgement does not prove arrival. A useful operational system needs these distinctions even when the interface keeps the presentation compact.

Presence records actuality

Presence describes operational participation. Called, acknowledged, checked in, late, absent, wrapped and replaced are conceptual distinctions used here to explain the domain. This list is not a published internal enum or complete transition table.

An ordinary meeting or hold should not automatically create an operational production day. Conversely, a day can relate multiple assignments, schedule items and recipients rather than being reduced to one person’s calendar entry.

Calendar semantics

Date-only work periods and time-zone-aware instants have different meaning. A calendar day should not shift because a viewer is in another timezone. Scheduled instants should retain their intended context. Display conventions belong at the human-facing boundary.

The model introduces more records and publication state than a simple calendar. It supports the practical question the production needs answered: what was planned, what was issued, who acknowledged it, and what actually happened?

Time and operationsAvailability informs staffing. Assignments describe work. Production Days coordinate plans, publication and actual presence.Person participates through Production MembershipProduction Membership belongs to ProductionProduction includes participation Production MembershipProduction Membership identifies PersonProduction Membership performs work through Production AssignmentProduction Assignment retains participation Production MembershipProduction Assignment is called for work on Production DayProduction owns operational Production DayProduction Day plans work through ScheduleSchedule is frozen into Call SheetProduction Day publishes Call SheetCall Sheet targets eligible recipients through AudienceCall Sheet receives version-specific AcknowledgementAcknowledgement is distinct from recorded PresenceProduction Day records PresencePerson responds with AvailabilityAvailability informs StaffingStaffing leads to participation through Production MembershipPersonThe person behind every jobAvailabilityWhether someone can work those datesStaffingFrom candidate to booked crewProductionThe film or project everyone works onMembershipWho belongs to this productionAssignmentWho does which job, and whenDayOne day of production workScheduleWhat happens whenCall SheetThe issued plan sent to the crewAudienceWho an update is intended forAcknowledgementConfirmation of a specific call sheetPresenceWho has arrived or wrapped
Connections in words
  • Person participates through Production Membership
  • Production Membership belongs to Production
  • Production includes participation Production Membership
  • Production Membership identifies Person
  • Production Membership performs work through Production Assignment
  • Production Assignment retains participation Production Membership
  • Production Assignment is called for work on Production Day
  • Production owns operational Production Day
  • Production Day plans work through Schedule
  • Schedule is frozen into Call Sheet
  • Production Day publishes Call Sheet
  • Call Sheet targets eligible recipients through Audience
  • Call Sheet receives version-specific Acknowledgement
  • Acknowledgement is distinct from recorded Presence
  • Production Day records Presence
  • Person responds with Availability
  • Availability informs Staffing
  • Staffing leads to participation through Production Membership

Availability

  • Available
  • Unavailable
  • Conditional
  • Alternative dates

Presence

  • Checked in
  • Late
  • Absent
  • Wrapped
  • Replaced

6. Production Resources

One context-bearing artifact model

Storyboards, scripts, wardrobe looks, lighting references, VFX versions and operational documents differ in content. They nevertheless share useful needs: ownership, context, versions, visibility and review. A Production Resource supplies those common relationships without pretending every media type has the same capture or preview behavior.

A resource can connect to a person, assignment, scene, shot, group or Production Day. These links explain what the artifact concerns. They do not automatically give a linked person permission to retrieve or approve it.

Exact content identity

A Resource Version is an immutable snapshot. A review identifies that version, not a moving “latest” attachment. Uploading another version cannot transfer old approval onto new content.

Current version, latest approved version and final version answer different questions. The current version may be awaiting review while an earlier version remains approved or final. Finalization is an explicit operation concerning the appropriate approved content; it is not merely another spelling of upload success.

interface ResourceExample {
  productionId: string;
  context: {
    personIds: string[];
    assignmentIds: string[];
    sceneIds: string[];
    shotIds: string[];
    productionDayIds: string[];
  };
  currentVersionId?: string;
  approvedVersionId?: string;
  finalVersionId?: string;
}

This representative contract is independently authored and deliberately simplified.

Common infrastructure, specialized adapters

Media admission, private delivery and native capture retain their own boundaries. A common Resource model does not imply a generic public download URL or a complete streaming platform. Shared review mechanics do not eliminate type-specific validation.

The documented Resources implementation is local. Focused automated evidence exists, while production release, physical-device capture and staged department acceptance remain pending. This distinction is part of the architecture story: source and local checks are necessary evidence, but they are not substitutes for the relevant operational acceptance.

ResourcesDifferent creative artifacts share production context, immutable versions and review infrastructure.Approval supports explicit selection of Final referenceProduction Resource has a separately selected Final referenceProduction Assignment is called for work on Production DayProduction owns operational Production DayProduction owns Production ResourceProduction Resource has immutable Resource VersionResource Version is reviewed through WorkflowWorkflow orders Workflow StageProduction Resource has person context PersonProduction Resource has work context Production AssignmentProduction Resource has narrative context SceneProduction Resource has shot context ShotProduction Resource has operational context Production DayProductionThe film or project everyone works onResourceThe documents and media used for workResource VersionAn immutable snapshot of a resource’s submitted content.SceneNarrative context for production work and resources.ShotA specific planned camera or creative unit of work.WorkflowThe review and transition lifecycle of a specific subject.PersonThe person behind every jobAssignmentWho does which job, and whenWorkflow StageAn ordered part of a submitted review process.DayOne day of production workTaskAn actionable to-do obligation.ApprovalA recorded decision concerning the reviewed subject and version.Final referenceThe version explicitly chosen as finalStorageStores documents, images and video
Connections in words
  • Approval supports explicit selection of Final reference
  • Production Resource has a separately selected Final reference
  • Production Assignment is called for work on Production Day
  • Production owns operational Production Day
  • Production owns Production Resource
  • Production Resource has immutable Resource Version
  • Resource Version is reviewed through Workflow
  • Workflow orders Workflow Stage
  • Production Resource has person context Person
  • Production Resource has work context Production Assignment
  • Production Resource has narrative context Scene
  • Production Resource has shot context Shot
  • Production Resource has operational context Production Day

7. Shared Workflows

Mechanics and subject ownership

A Workflow provides common review and transition mechanics. The subject domain still owns the business record and its policy. A resource version, financial submission and reviewed call-sheet draft can share infrastructure without becoming the same product object.

Subject adapters connect source ownership to the common engine. They are an explicit seam, not permission to invent authorization for an unsupported subject. Coverage must be described per adapter and integration.

Freeze the submitted process

A Workflow Definition describes the stages and reviewer audiences. Submission captures the applicable configuration. Editing a template later should affect future submissions rather than silently rewriting the process an earlier submission entered.

Review concerns exact submitted content. A changed resource version starts a new review. Decisions remain attached to the version and process in which they were made, and audit history explains accepted transitions.

ANY and ALL

ANY conceptually requires one eligible approval in the configured stage. ALL requires every required eligible reviewer to approve. A partially approved ALL stage remains under review. Eligibility and authority still apply; a job title alone cannot authorize a decision.

A storyboard might pass through director and cinematography review. VFX might involve a comp lead, supervisor and client. A call sheet might involve coordination and production leadership. These are illustrative process configurations, not assertions that a title automatically grants access.

What reuse buys

A shared transition layer reduces duplicated retry, revision and audit behavior. It also creates an obligation to preserve domain-specific validation and transaction boundaries. Reuse is incomplete if every adapter reimplements the engine, and it is dangerous if the engine takes over every subject’s authority.

Financial, creative and operational integrations have separate acceptance scopes. The public evidence page summarizes the documented implementation without exposing private receipts. A common engine does not establish that every future artifact or workflow template is implemented or released.

WorkflowsDefinitions freeze the submitted process. ANY and ALL describe review policies; eligible authority is evaluated separately.Production Resource has immutable Resource VersionResource Version is reviewed through WorkflowWorkflow Definition configures a submitted WorkflowWorkflow orders Workflow StageWorkflow Stage requests eligible ReviewReview records a version-specific ApprovalApproval produces transition history in Audit EventWorkflow Stage selects reviewers through AudiencePermission / Capability authorizes eligible ReviewPermission / Capability controls current access to Production ResourceReview may create corrections as TaskWorkflow projects current obligations into AttentionResourceThe documents and media used for workResource VersionAn immutable snapshot of a resource’s submitted content.Workflow DefinitionConfiguration describing a review’s stages and reviewer audiences.Permission / CapabilityWhat someone is allowed to doWorkflowThe review and transition lifecycle of a specific subject.AudienceWho an update is intended forTaskAn actionable to-do obligation.Workflow StageAn ordered part of a submitted review process.ReviewEvaluation of an exact submitted version by eligible reviewers.AttentionA projection of currently actionable source obligations.Audit EventA historical record of an accepted transition.ApprovalA recorded decision concerning the reviewed subject and version.
Connections in words
  • Production Resource has immutable Resource Version
  • Resource Version is reviewed through Workflow
  • Workflow Definition configures a submitted Workflow
  • Workflow orders Workflow Stage
  • Workflow Stage requests eligible Review
  • Review records a version-specific Approval
  • Approval produces transition history in Audit Event
  • Workflow Stage selects reviewers through Audience
  • Permission / Capability authorizes eligible Review
  • Permission / Capability controls current access to Production Resource
  • Review may create corrections as Task
  • Workflow projects current obligations into Attention

8. Communication, Attention and Today

Communication and effects

A Message belongs to a scoped conversation. An Update describes a production announcement targeted at an eligible audience. Following optional activity does not automatically make someone a private conversation participant.

A domain mutation can admit notification or delivery intent. Background processing and external providers then attempt the effect. Queue admission is not successful delivery. A public diagram that labels the queue as “sent” would obscure an important failure boundary.

Attention is current actionable work

Attention projects currently eligible obligations from source domains. It is not simply unread notification history. A message may be unread without requiring an action; a required workflow review may remain actionable after a notification has been read.

Source records determine completion and current access. Delayed projection work can lag, and coverage can be partial. A missing projected item therefore cannot automatically establish that no source obligation exists. A projection should make its coverage and failure state understandable rather than presenting an authoritative-looking empty screen.

Today composes

Today combines authorized assignments, days, schedules, call sheets, activity, availability and Attention into a useful read model. It does not own canonical work records. Opening it does not acknowledge a call sheet, mark a message read or complete a review.

Actions return to the owning domain. Source readers retain current authority. Candidate indexes and caches can help discovery and performance, but they are not permission truth.

Performance and correctness

Bounded reads, initial data and refresh improve the experience. They introduce limits: pagination, stale hints and partial failures need explicit handling. The current documentation records local verification of source composition and access boundaries. It does not establish production latency or every provider effect.

The lesson is a design boundary rather than a performance boast. Compose enough information to help a person act, then preserve the source domain’s authority over what the action means.

Today is a read modelIncoming source projections compose Today. Owning domains retain their records and actions.Attention contributes actionable work to TodayProduction Assignment contributes work to TodaySchedule contributes planned time to TodayAvailability contributes eligible requests to TodayTodayThe work that needs your attention nowAttentionA projection of currently actionable source obligations.AssignmentWho does which job, and whenScheduleWhat happens whenAvailabilityWhether someone can work those dates
Connections in words
  • Attention contributes actionable work to Today
  • Production Assignment contributes work to Today
  • Schedule contributes planned time to Today
  • Availability contributes eligible requests to Today

9. Temporary work, persistent professional network

Shared work creates context

A person participates in a production, performs work and meets other people. That shared context can matter after the production ends. The professional network should retain useful relationship context without making a temporary production membership the permanent relationship object.

Production People answers who participates in this operational context. Personal Roster answers which professional relationships an individual deliberately retains. A community has still another membership and interaction lifecycle.

Saving a coworker

A conceptual path starts with a production, follows participation to the persistent person, then records a reviewed personal relationship. The saved relationship can help future work, while a future production still establishes fresh participation and assignments.

Saving contact information is not a bulk export of a production directory. Shared work does not imply permission to retain every private detail. Appropriate contact review and domain privacy remain part of the design.

Persistent identity without universal visibility

An identity connection can make records coherent without making them publicly discoverable. A public profile, a production directory and a personal roster are different presentations with different audiences. Linking them does not erase those boundaries.

The network model therefore resists two tempting shortcuts: recreating the person for every production, and exposing all shared-work history through one universally visible profile. The former loses continuity; the latter confuses identity with disclosure.

Costs

Persistent references need reconciliation and lifecycle handling. Relationship editing must be understandable, and people need a clear distinction between changing production information and changing a personal contact. These costs are the counterpart of a useful benefit: temporary work can contribute to a professional relationship without permanently owning the person or replacing future production authority.

The public site uses conceptual journeys rather than real crew records. No private customer or coworker data is included.

Professional relationships persistFictional example: Mas and Sarah share Enemy Alien and later a commercial production. Saving Sarah to a personal roster preserves a deliberate relationship beyond temporary work.MasSarahJoseDavidEnemy AlienCommercial productionPersonal roster · Shared work history
Fictional people and productions illustrate persistent professional context.

10. Collaboration Spaces

Common interactions

Production, Team, Organization and Networking Community may all need members, activity, messages, files, events and settings. Reusing navigation and presentation components can improve consistency and reduce duplication.

That visual similarity is not proof of one shared security model. The operational lifetime of a production differs from a long-lived team. A networking community differs from a private production directory. Their owners and membership semantics cannot be inferred from the component that renders a member list.

Space as explanatory vocabulary

Space is a useful concept for discussing collaboration context. This paper does not claim that every domain is stored as one generic Space object. A common presentation contract can name its context explicitly while domain services retain their own authority and lifecycle.

The same distinction applies to a Production Group. Reusing a group visual primitive does not make it a Networking Community or give it the permissions of a Team. Group hierarchy and work relationships remain scoped.

Reuse at the appropriate layer

Reusable UI can render a heading, list, activity item or resource card. It should receive an explicit authorized projection. Domain commands still perform the relevant context checks. A client component should not deduce privilege from a generic “owner” badge or a familiar route.

The alternative—duplicating every component by domain—has a maintenance cost. But flattening all collaboration domains into one authority model has a correctness cost. A measured reuse strategy separates these questions.

Public assessment limits

Existing Team workflows are part of the architecture. This edition does not assess complete Organization and Community feature coverage or release. They appear in the conceptual collaboration view because understanding the distinction is useful, not because every shared interaction is asserted to be complete.

Shared presentation primitives do not imply shared security domains or shared lifecycle models.

Production

  • Members
  • Activity
  • Messages
  • Events
  • Files

Separate authority
Separate lifecycle
Separate privacy

Team

  • Members
  • Activity
  • Messages
  • Events
  • Files

Separate authority
Separate lifecycle
Separate privacy

Organization

  • Members
  • Activity
  • Messages
  • Events
  • Files

Separate authority
Separate lifecycle
Separate privacy

Community

  • Members
  • Activity
  • Messages
  • Events
  • Files

Separate authority
Separate lifecycle
Separate privacy

11. Websites as public projections

Publishing is a boundary

A Profile, Production, Team or other eligible context may support public presentation. That does not make its private application records public. A Website is a configured projection of selected information, with publication as an explicit step.

Canonical identity and ownership remain in the application domain. Website configuration controls presentation. Publication decides which reviewed presentation becomes available through a public domain.

Why a projection

An unrelated website object that duplicates every identity field creates competing editing truth. Directly publishing private domain records creates an exposure problem. A projection can reuse authorized source information while limiting public output and retaining presentation-specific configuration.

The model still needs deliberate handling of updates. A change in canonical information and a public publication version need not mean the same thing. Draft configuration and issued public presentation should not be confused.

Different audiences

A production contact view serves participants under current policy. A public website serves anonymous visitors. Public presentation can have useful information without serializing private member context, operational obligations or internal source references.

The conceptual path is canonical context → public projection → website configuration → publication → Cloudflare → public domain. It explains responsibility without publishing provider credentials or private delivery endpoints.

The engineering site itself

This case study is operationally independent. It is built from public-safe authored content using Astro as a static compiler. It has no production API connection, account system or database. Moving it into a fresh repository should not require the Filmclusive Next.js build.

The engineering site’s separation makes the same projection principle concrete: public explanatory material is selected and authored for its audience rather than copied automatically from private implementation. Future tooling may assist candidate preparation, but it must not turn editorial review into automatic publication.

PublishingOnly a deliberately authored public projection becomes published presentation.Production has public projection WebsiteProfile has public projection WebsiteTeam has public projection WebsiteOrganization has public projection WebsiteNetworking Community has public projection WebsiteWebsite is configured for PublicationPublication is delivered through Cloudflare EdgeProfileWhat others see about a personProductionThe film or project everyone works onTeamA persistent shared operational collaboration context.OrganizationAn organizational collaboration and publishing context.WebsiteWhat the public can seeNetworking CommunityA professional community with its own membership and interaction lifecycle.PublicationThe deliberate selection and release of public presentation.Cloudflare EdgeReceives and routes incoming requests
Connections in words
  • Production has public projection Website
  • Profile has public projection Website
  • Team has public projection Website
  • Organization has public projection Website
  • Networking Community has public projection Website
  • Website is configured for Publication
  • Publication is delivered through Cloudflare Edge

12. Runtime architecture

Separate provider responsibilities

Cloudflare owns edge and control-plane responsibilities: ingress, static delivery, request protection, coordination and selected public caching and collaboration services. These are different from canonical identity and domain records.

The application’s Next.js Node runtime runs on Google Cloud Run behind the edge. Domain services execute commands and queries. Firebase and Google Cloud provide Firebase Auth, Firestore, Storage, App Check, Functions and selected workloads. External providers remain adapter boundaries.

A conceptual request

A client uses an explicit transport. The request boundary admits and routes the request. Authentication establishes identity. Authorization evaluates current scoped authority. A domain command or query performs the relevant work through storage or provider adapters. The response exposes an authorized projection.

This path is conceptual rather than a literal published inventory of routes, headers and deployment configuration. Actual handlers and adapters retain their distinct implementation concerns.

Background execution

Some effects belong outside the interactive request. Durable admission connects a committed domain change to later processing. Jobs may retry, and providers may fail independently. Admission is evidence that processing was accepted, not proof of successful delivery.

This separation makes failure interpretation more useful. A successful application command, a pending effect and a delivered provider message are different outcomes. The user-facing interface should describe the one actually established.

Operational tradeoffs

The edge/origin boundary introduces coordination across provider roles and releases. The Node-capable origin supports application and provider work that is not reduced to static edge behavior. The chosen split should be evaluated against its responsibilities, rather than treating one provider as a synonym for the whole platform.

The provider map is source-backed documentation. This public case study does not independently verify live settings, every release path or all tenant-domain transitions. It describes architecture and its evidence limits, not private operations.

System architectureCloudflare owns edge/control-plane responsibilities. The Next.js Node runtime runs on Google Cloud Run. Firebase/Google Cloud owns application identity and data.ClientsEdgeApplication runtimeData planeProvidersFunctions / Jobs attempts effects through External ProviderWeb Client requests application access through Cloudflare EdgeiOS Client requests application access through Cloudflare EdgeDesktop Client hosts the experience of Web ClientMCP Client accesses public APIs through Cloudflare EdgeCloudflare Edge forwards admitted requests to Next.js OriginNext.js Origin runs Domain ServiceDomain Service persists canonical records in FirestoreDomain Service accesses admitted files in StorageDomain Service checks identity using Firebase AuthDomain Service admits background work to Functions / JobsDomain Service uses scoped adapters for External ProviderWeb ClientUse Filmclusive in a browseriOS ClientUse Filmclusive on an iPhoneMCP ClientScoped access for connected toolsDesktop ClientOpen the web app on a MacCloudflare EdgeReceives and routes incoming requestsNext.js OriginRuns the server applicationFirebase AuthChecks who is signing inDomain ServiceChecks and carries out a requestFunctions / JobsProcesses work in the backgroundStorageStores documents, images and videoFirestoreStores the application recordsExternal ProviderA connected third-party serviceApp CheckChecks the app making a request
Connections in words
  • Functions / Jobs attempts effects through External Provider
  • Web Client requests application access through Cloudflare Edge
  • iOS Client requests application access through Cloudflare Edge
  • Desktop Client hosts the experience of Web Client
  • MCP Client accesses public APIs through Cloudflare Edge
  • Cloudflare Edge forwards admitted requests to Next.js Origin
  • Next.js Origin runs Domain Service
  • Domain Service persists canonical records in Firestore
  • Domain Service accesses admitted files in Storage
  • Domain Service checks identity using Firebase Auth
  • Domain Service admits background work to Functions / Jobs
  • Domain Service uses scoped adapters for External Provider
  1. 1Web Client
  2. 2API Transport
  3. 3Cloudflare Edge
  4. 4Request Boundary
  5. 5Firebase Auth
  6. 6Permission / Capability
  7. 7Domain Service
  8. 8Firestore
  9. 9Response projection
  10. 10Web Client
Open a step to inspect its responsibility. Provider effects branch from domain services.

13. Security and trust boundaries

Authority belongs at the source boundary

Client presentation is not enforcement. A hidden action button cannot protect a command. A dashboard record cannot authorize access to the underlying subject. Authentication identifies an actor; current authorization decides what they may do.

Audience resolution, resource visibility and action authority are separate responsibilities. A group or role can describe useful operational context without granting permission.

Public and private projections

Public pages must expose deliberately selected information. Private records should not accidentally travel through serialized props, metadata, public media or human-facing error messages. A public projection is its own disclosure boundary, not a prettier rendering of an unrestricted application record.

Files require similar reasoning. A reference to a file should not be treated as an access grant. Resource review refers to exact content, while access to that content remains subject to current policy.

Delayed work retains a boundary

Queued processing occurs after the original request. Source state and recipient eligibility may change. The conceptual obligation is to preserve the source’s current boundary when projecting or delivering work, rather than treating earlier queue admission as permanent authority.

This paper does not disclose exact security settings, internal bypasses, recovery procedures, production identifiers or unresolved vulnerabilities. These details would not improve the core architectural explanation.

Evidence and limits

Scoped local verification can establish specific properties of contracts, transitions and access boundaries. It does not prove every browser or provider behavior, and it does not establish complete production acceptance. The evidence page keeps those claims separate.

This static site also has a narrow responsibility: publish safe explanations without production credentials or data connections. Pattern scanning adds useful checks, but no pattern scanner can establish that every paragraph is safe, accurate or appropriately attributed. Editorial review remains part of public release.

Security and trustAuthentication is not authorization. UI visibility is not authorization. Audiences and read models do not grant access.Permission / Capability controls current access to Production ResourceDomain Service persists canonical records in FirestoreDomain Service accesses admitted files in StorageDomain Service checks identity using Firebase AuthWeb Client calls explicit API TransportAPI Transport submits requests to Request BoundaryRequest Boundary establishes identity through Firebase AuthFirebase Auth precedes evaluation of Permission / CapabilityPermission / Capability admits scoped commands to Domain ServiceApp Check attests application context at Request BoundaryFirestore supplies authorized source records for TodayWeb ClientUse Filmclusive in a browserAPI TransportCarries a request to the serverRequest BoundaryChecks a request before work startsApp CheckChecks the app making a requestFirebase AuthChecks who is signing inPermission / CapabilityWhat someone is allowed to doAudienceWho an update is intended forDomain ServiceChecks and carries out a requestResourceThe documents and media used for workTodayThe work that needs your attention nowFirestoreStores the application recordsStorageStores documents, images and video
Connections in words
  • Permission / Capability controls current access to Production Resource
  • Domain Service persists canonical records in Firestore
  • Domain Service accesses admitted files in Storage
  • Domain Service checks identity using Firebase Auth
  • Web Client calls explicit API Transport
  • API Transport submits requests to Request Boundary
  • Request Boundary establishes identity through Firebase Auth
  • Firebase Auth precedes evaluation of Permission / Capability
  • Permission / Capability admits scoped commands to Domain Service
  • App Check attests application context at Request Boundary
  • Firestore supplies authorized source records for Today
  1. Public internet
  2. Cloudflare Edge
  3. Application boundary
  4. Authentication
  5. Capability / Authorization
  6. Domain command
  7. Canonical data
Each boundary checks a different responsibility.

14. Multi-platform architecture

Web

The operational web application uses React and Next.js. It presents authorized domain projections and uses explicit API transports for commands and queries. This engineering site uses a different stack because its purpose is static explanation, not authenticated production work.

Native iOS

The iOS architecture is in an incremental SwiftUI/native migration. Native interfaces use shared identity, server contracts and permissions. Native interaction can take advantage of device capabilities without reproducing server authority in client-side rules.

Supported existing shell experiences can coexist during migration. A native implementation record or automated bridge test does not establish physical-device acceptance, App Store release or complete feature parity. Those claims need their own evidence.

Desktop

The Tauri macOS shell hosts the web application and adds selected local capabilities. It is not a separate copy of the application backend. A hosted page can change independently of native shell code, while native shell changes still have their own packaging and release lifecycle.

Offline behavior is bounded. The public model does not promise that all hosted screens work offline or that desktop runs a local Next.js runtime.

MCP

The stateless MCP service has an independent authentication boundary and accesses the public application API. It does not receive direct Firebase credentials merely because it is another client.

A tool-oriented interface has different interaction and admission concerns from a browser or a native screen. It can share domain contracts without sharing every UI or capability.

Shared contract, separate implementation

The design avoids two extremes: requiring identical interfaces on every platform, and giving each client a divergent model of canonical work. Shared server contracts preserve identity and ownership. Independent interfaces preserve useful platform behavior. Coverage remains incremental and should be stated per workflow rather than assumed from the presence of a client.

ResponsibilityWebiOSDesktopMCP
UIWeb applicationNative coverage variesHosted web shellTool interface
AuthenticationApplication identityShared server identityHosted application identitySeparate scoped boundary
ContractsServer contractsServer contractsHosted web contractsPublic API contracts
Offline capabilityNot assessedNot assessedNo parity claimStateless
Server APIDomain servicesDomain servicesDomain servicesScoped API
Local storageNot assessedNot assessedNot assessedNo Firebase credentials
Release modelApplication releaseIncremental native migrationDesktop shell releaseIntegration release

15. Evolution and migration

A thematic reconstruction

The architecture did not appear fully formed. Earlier profile, networking, project and domain-specific workflow systems coexist with newer production-first boundaries. This edition organizes that evolution into themes rather than claiming exact dates or a fully verified historical sequence.

Profile and relationship features establish persistent professional presentation and connections. Project and workflow expansion introduces more work context. Teams and websites add shared state and public presentation. Hiring adds availability and staffing lifecycles. Production-first work makes participation, assignment and operational time explicit.

Generalization retains subject ownership

Resources and Workflows consolidate useful repeated mechanics. That does not establish that every earlier artifact or approval system has been migrated. A newer canonical direction and an older active implementation can coexist temporarily.

The important distinction is between direction and deployment state. “Canonical” describes the chosen architecture. “Transitional” describes a seam still moving toward it. “Legacy” describes retained older design where supported by evidence. “Planned” describes an intended direction, not present implementation.

Migration has operational cost

New ownership boundaries can require compatibility, data preparation and source reconciliation. Readback can establish that preparation occurred without establishing compatible application release. A local suite can establish a narrow invariant without proving the complete hosted workflow.

A useful evolution story therefore explains what was retained as well as what changed. Preserving identity and history is often more important than presenting a perfectly clean diagram.

Native expansion

The native migration makes another separation visible: shared server contracts do not require shared UI implementations. Existing supported clients and new native surfaces can overlap while coverage develops.

The exact chronology and first-person historical lessons await Mas’s editorial review. This paper does not invent an origin date, a dramatic incident or a personal motivation that the current evidence cannot establish. It explains the architectural transitions that the present model and documentation make visible.

  1. Profile and professional relationships
  2. Project and workflow expansion
  3. Teams and publishing
  4. Availability and staffing
  5. Production-first work model
  6. Resources and shared review
  7. Native client expansion

16. Lessons and engineering responsibility

Boundaries should explain ordinary work

The strongest reason to separate Membership and Assignment is not abstraction for its own sake. It is that a person can change jobs without becoming a different participant. The strongest reason to version a resource is that approval must identify the content actually reviewed.

An abstraction that cannot explain these ordinary cases is too weak. An abstraction that requires users to understand every internal record before acting is too costly at the interface.

Reuse is a layer decision

Shared UI can improve consistency without sharing domain authority. A shared Workflow can reduce repeated transition mechanics without taking ownership of every subject. A generic Resource can connect creative artifacts without pretending every file format has identical behavior.

These choices introduce adapters, projection contracts and lifecycle maintenance. The lesson is to explain the maintained boundary and its cost, rather than describing consolidation as free complexity reduction.

Evidence should name the property it proves

Source existence proves implementation. A focused test proves a property within its test boundary. Data preparation and readback prove a scoped operation. None alone proves successful provider delivery, physical-device behavior or complete production acceptance.

The public case study uses that discipline intentionally. It is more informative to state what remains unverified than to use a single “done” badge that conflates architecture direction with release.

My responsibility

I designed the product model and architecture and made the implementation and integration decisions. AI-assisted workflows were used where appropriate. I remain responsible for investigating failures, assessing tests and evidence, maintaining security boundaries, and making infrastructure and release decisions.

This statement does not imply every source line was manually typed. It identifies the responsibility an interviewer should evaluate: whether I can explain the boundaries, the tradeoffs and the evidence needed to operate the system.

More specific personal historical lessons require editorial confirmation. The site should not turn plausible engineering observations into invented autobiographical claims.

17. Future work

The public case study

Future additions could include measured performance studies, native migration case studies and deeper explanations of selected workflow integrations. Each should add evidence and explanatory value rather than merely increase the number of graph nodes.

Architecture version history could help a reader compare a direction with later implementation. Such a history needs explicit editorial versions and claim scopes. It should not be an automatic mirror of private source changes.

Optional explorer capabilities

Automatic layout is unnecessary for curated V1 views. It could become useful if the site needs arbitrary graph generation. Animated request traces or architecture diffs should be added only if they make a boundary easier to understand and remain accessible as structured content.

A downloadable paper PDF can supplement the printable HTML. A blog or public changelog can carry narrower engineering stories. None requires accounts, a production database or a live connection to Filmclusive.

Candidate export is not publication

A private exporter might someday prepare an allowlisted candidate manifest. Its output would still require human review. It must not automatically publish private module names, operational configuration or claims inferred from source presence.

Manual editorial authoring is the V1 boundary. The independent public repository contains only reviewed explanatory content and the static site implementation, with fresh Git history.

Acceptance before expansion

The immediate success test is whether a technical interviewer can understand the domain objects, Membership versus Assignment, Groups and Audiences, exact-version review, Production Days, persistent relationships, Today, the request lifecycle and provider responsibilities after a five-minute tour.

A sophisticated frontend is not the objective. A coherent explanation that survives scrutiny is. The site should remain mostly HTML, CSS, public architecture data and content, with opt-in JavaScript for interactions that materially help the reader.