Fragmented Workflows to Unified System

Bat-Sheva - Global Dance & Production Operations

  • B2B Web platform
Background

Bat-Sheva runs two dance ensembles, world tours, and a schoolA seven-year planning horizonProblem: Organization-wide operations are scattered across disconnected toolsGoal: One platform for all operations.Impact: a new workflow for the entire organization Offline coordination now runs in the system.


CHALLENGE01

Synthesis

Learning the offline workflows

Observation

Understanding the Environment

Each role ran on its own system. Excel, Google Sheets, personal notes, email threads - and no one had access to anyone else's. If you wanted to know what the ensemble was doing in October, you asked someone. The only place it all came together was a shared Excel on a big screen, updated live by hand during the monthly meeting.
So I sat in on that meeting. What struck me was where the time went: most of it wasn't spent making decisions. It was spent exchanging information - piecing the big picture together from scratch, every month.
Information lived in people's heads, shared only through conversation

I attended the monthly planning meeting to understand the actual workflow. The data was distributed across people's heads, Excel sheets, and email threads.
 I noticed that most of their time and energy is spent on exchanging info, puzzling the big picture together, rather than on making decisions. 

Each role ran on their own system.  Excel, Google Sheets, personal notes, email thread. Nobody had access to anyone else's. If you wanted to know what the ensemble was doing in October, you had to ask personally. The only place everything came together was a shared Excel on a big screen - updated live, by hand, during the monthly meeting.
The complete picture existed only in the air during the meeting. The only way to coordinate was through long conversations - not just to make decisions, but simply to establish a shared baseline
Ping moment

It’s a Query Problem, Not a Calendar Problem

Reframe #1
They weren't looking at a calendar. They were asking questions - and doing mental math across scattered information to find answers. Who's in Studio Dalia? Where can Group X rehearse? When does the community event fit? It can't answer any of these. This wasn't a calendar problem. It was a query problem.
It’s a Query Problem, Not a Calendar Problem
Information Architecture

Defining the atoms of the system.

I mapped the questions that came up in the meeting: what types of questions are these? What entities can I derive from them? What needs do they reflect? Who's in Studio Dalia? → there's a "space" entity, a "group" entity, and a time relationship between them. The questions didn't just reveal what the system needed to know. They revealed how it needed to think. The system got its shape from the queries.
Defining the atoms of the system.
Translating mental models into system entities to bridge the gap between user behavior and database structure, I mapped real-life observations into actionable system entities. By aligning human questions (When, What, Where, Who) with system architecture, I identified a critical dependency between Schedules and Events. This realization shifted the product strategy from isolated data entry forms into an interconnected, context-aware workspace where time and production content are managed simultaneously.
Defining the atoms of the system.
Those queries revealed what the system's building blocks are
CHALLENGE02

Perspective

Context Switching solutions

Ping moment

Moving from infinite scroll to a new perspective

Reframe
One of the clearest requirements was: "We need a calendar with infinite scrolling".Only after watching the meeting did I understand what was behind it. They weren't scrolling - they were searching. Jumping between topics, zooming in and out, switching between a tour in April and a rehearsal next week. Excel forced them to do that linearly. So linear scrolling became their mental model for control
The real need wasn't infinite scroll. It was to jump between topics and time ranges without losing the big picture.
The Infinite Scroll Requirement (and why the solution was something else)
Users were used to working with Excel, which forced a linear mental model, but their coordination was non-linear. Observing their live workflow helped me understand the gap between what they asked for and they actually needed.
Bird's Eye View

What did they actually need

what's behind the habbit: High level and flexible view
Behind the scrolling habit was a simpler need: to control the timeline. To jump between points of interest without losing your place. The old way meant scrolling back and forth, moving between screens just to reach a different stretch of time - friction at every step. So I designed the Bird's Eye View: a timeline you can scan across months, seasons, and years while staying oriented. You stay in one place and just zoom in and out, from today to four years ahead in a single tap. The back-and-forth is gone, and reaching any point in time becomes part of the flow.
Tentative

There are a lot of 'maybes', but they don't show up

A "Tentative" state - for plans that exist but aren't confirmed yet.
A large part of the schedule wasn't confirmed events. Many bookings were being considered, tracked off to the side, and never showed up on the shared calendar until someone made them official.
But these tentative plans were already shaping decisions - availability, dependencies, routing, staffing. The team was assembling the picture around things that existed everywhere except the system. So that state lived only in people's heads, between meetings.
A "Tentative" state - for plans that exist but aren't confirmed yet.

Discussions were mostly about possibilities, not final decisions

I noticed that most of what they discussed wasn't decisions - it was possibilities. "Maybe Los Angeles in April, or Amsterdam in February instead." Nothing landed anywhere. It stayed in the air, or with whoever was directly involved
Uncertainty became an actual entity: for the users it was a transparent stage in the workflow, despite shaping dependencies and planning decisions. I turned it into an defined system state.
Toggle

Toggling between perspectives

In the daily view, "Who's in Studio Dalia?" and "What is Group X doing?" pull in opposite directions. One question organizes the screen around spaces, the other around groups. Instead of building two separate screens, I made a toggle that flips the Y-axis: Display by Group, or Display by Space. Same data, different narrative, one click to switch - without touching the underlying structure.

After mapping their queries, tasks, and questions, a pattern emerged: they all involved intersections of 2-3 entities. Questions like "Who's available in Studio Dalia tomorrow?" require intersections (time × space × people) that the old system couldn't surface. Understanding these intersection points became the foundation for the system architecture.
Joker Filter

"See everything all the time" actually meant "don't let us lose the context"

Users insisted on seeing everything all the time - more than anyone can hold at once. Interviews couldn't pin down what they actually needed on screen. Only watching them revealed it: they dive in and out of specific details constantly, and every time they dropped into one, they lost the wider context. That was the real cost. They didn't need everything active. They needed everything available.
"See everything" was a fear, not a real need.Users insisted on 'seeing everything all the time׳ - an impossible cognitive load. Interviews failed to map out their exact queries; they couldn't define what they actually needed to see. Only close observation revealed the real dynamic.  We were both right and wrong: they really did need 'everything,' but not all at once. They constantly dive in and out of specific details, but those details mean nothing without the wider context. The true requirement wasn't infinite data display. It was a friction-free experience that keeps them anchored in the big picture while letting them dive deep instantly.
Standard filters made it worse. In a meeting where the topic changes every thirty seconds, checking and unchecking boxes is friction at exactly the wrong moment. So the Joker Filter lets you highlight one query with a single click - everything else stays on screen, just grayed out. You drop into a detail without ever leaving the big picture.
They don't process everything at once - they switch tasks so fast it feels simultaneous. The need was never more data on screen. It was to keep the thread while diving in.
CHALLENGE03

Close Up

Classifying everyday objects

Shared Language

Defining the basics: "Production"≠ "Event"

Building the system from scratch meant defining the core entities first. In Hebrew, the overlap between "Production" (מופע) - the permanent artistic entity - and "Event" (הופעה) - a specific date and venue - caused constant confusion. Get this wrong and the whole data model breaks. We spent real time on definitions like this, not as an exercise, but because the system couldn't work without a shared vocabulary.
Defining theBuilding a system from scratch requires defining core entities from the ground up. In Hebrew, the semantic overlap between "Production" (׳מופע׳ - the permanent artistic entity) and "Event" (׳הופעה׳ - the specific date and venue instance) caused constant confusion. Left unaddressed, this overlap would have broken the entire data model. We spent real time on definitions like this - because the system couldn't work without a shared vocabulary.
 basics: "Performance" and "show" are not the same thing.
Ping moment

The monthly grid dilemma (or: The Production is King)

Hierarchy
The weekly view had room for both - color carried the ensemble, text carried the event. The monthly grid didn't. Compressing everything in created real visual noise. Replacing the color backgrounds with dots saved space but broke the context, and showing only the event type ("Rehearsal") or just the ensemble name left managers with nothing useful to read.
So in the monthly view, the "what" won. Too many items, too many boxes for color to lead. Color stepped back and became an index - a signal, not a label.
What > WhoThe weekly view comfortably paired full-color backgrounds (The Who) with generic event types (The What). Compressing this into the monthly grid created severe visual noise. Replacing backgrounds with color dots saved space but broke the context; showing only the event type ("Rehearsal") or just the ensemble name was useless to managers.
-----=======+++++++++
In the weekly view, there was enough space for both - color carried the ensemble, text carried the event. In the monthly view, color couldn't lead anymore. Too many items, too many boxes. The "what" won, and color became an index - a signal, not a label.
The Production is King. Not the ensemble, not the generic activity - the specific show. "The Hole" became the primary title, and the ensemble dropped to a color dot. To separate a performance from a rehearsal without adding text, I solved it structurally: performances got bold type, a large dot, and a divider line. Rehearsals stayed plain.
The breakthrough came when we realized The Production is King. Neither the ensemble nor the generic activity should lead. The specific production (e.g., "The Hole") became the primary title, while the ensemble (The Who) was relegated to a color dot. To differentiate The What (Performance vs. Rehearsal) without adding text, we solved it structurally: performances received bold typography, a massive dot, and a divider line, while rehearsals remained standard.
It was tempting to organize everything around the ensembles - they're the heart of the organization. But the ensembles don't perform. The shows do.
First Surprise

How to formulate 20 event types, X 30 variables?

The data audit turned up over 20 event types, each crossing up to 30 variables. The obvious move - a separate template for every type - would have buried staff in forms. So instead of dozens of templates, we looked for the one structural split that actually mattered: point events versus touring events.
The data audit turned up over 20 event types, each crossing up to 30 variables. The obvious move - a separate template for every type - would have buried staff in forms. Working through it with the data engineer, we looked for the one structural split that actually mattered: point events versus touring events. He knew where the data model could bend and where it couldn't, and that shaped which distinctions were worth building around.
How to formulatThe initial data audit revealed over 20 event types, with 30+ variables. My instinct was to avoid "Form Fatigue." Instead of dozens of templates, I identified the core structural difference: Point Events vs. Touring Events.e 20 event types, X 30 variables?
Common Ground, Key Difference
Classification

Establishing a logic using colour codes

Each ensemble needed a consistent identifier. But some events crossed categories - an international tour isn't just "who," it's also "where" and "what kind." Each layer needed its own signal without collapsing the logic of the whole.
What I built was a classification language: ensemble as the base identifier, with modifiers for international, technical, and special events - so a single calendar item could carry multiple layers of meaning without becoming noise.