Zillit

Software Development · Web Development

Visit site ↗

Project overview

Zillit is a communication and management platform built for film and TV productions. It was founded by Hollywood producer Deepak Nayar, who has more than 65 productions behind him and has worked with directors such as David Lynch and Wim Wenders. Zillit gives every production its own private space. Cast and crew share notices, documents, schedules, calls and emergency alerts there, and never have to swap personal phone numbers.

Over 12 months, I built Zillit's web app and the backend that powers every version of the product: web, iOS, Android and desktop. Zillit has since secured funding from the BBC.

At a glance

  • Client: Zillit LLC, USA

  • Industry: Film, TV & Entertainment

  • My role: Backend & Web Developer

  • Scope: Web app, plus the shared backend used by the web, mobile and desktop apps

  • Timeline: 12 months

  • Tech stack: Node.js, Express, MongoDB, Socket.IO, React, AWS S3, Agora, Firebase, Twilio

Impact

  • 1 backend powering 4 platforms: web, iOS, Android and desktop

  • 245 API endpoints and 36 real-time events behind every screen

  • 23 languages supported

  • 4.6★ rating on the App Store

  • Backed by the BBC

The problem

A film crew is a small city that only exists for a few months

A production brings together hundreds of people, many of them freelancers who have never worked together before. They are spread across dozens of departments, and often across countries and time zones. When the shoot wraps, the team breaks up and everyone moves on to the next project.

Before Zillit, that crew coordinated through WhatsApp groups, email chains, printed call sheets and personal phone numbers. That caused real problems:

  • No privacy: To work together, crew members had to give their personal numbers to dozens of strangers, and those numbers stayed in circulation long after the shoot ended.

  • Scattered information: Notices, schedules, scripts and purchase orders lived in different apps, so important updates were easy to miss.

  • Leaky confidentiality: Scripts and contracts must reach exactly the right people and nobody else, and general-purpose chat apps can't guarantee that.

  • No sense of hierarchy: A film set has a strict structure of departments, heads and assistants, but ordinary messaging tools treat everyone the same.

  • Global teams: One production can involve crew who speak different languages and work in different time zones.

  • Safety on set: In an emergency, the alert has to reach the right person immediately.

The approach

Zillit needed to feel as simple as a messaging app while behaving like a production office. My job was to build the engine underneath: one backend that every Zillit app talks to, and a web app that lets crew work from their desks. Four principles guided the work:

  1. Build it once, use it everywhere. Every rule, such as who can see a document or who can post on a board, lives on the server. The web, mobile and desktop apps therefore always behave the same way.

  2. Private by design. People connect through the production, not through their personal phone numbers.

  3. Built for a global crew. Languages, time zones and data storage regions are part of the foundation, not added later.

  4. Shaped around a real film set. Departments, job titles and approval chains match how productions actually run.

What was built

Joining a production without sharing a phone number

Every production gets a unique project code. Crew members join with that code, an admin approves them, and they can then message and call anyone on the project without ever seeing a phone number. Admins can also pre-approve people so they can join without the code.

To make this work, I tied each person's identity to their device instead of their phone number, and added account recovery through a recovery email and security questions. Join requests go into an approval queue, and the system automatically reminds admins about anyone still waiting.

Zillit web app showing the Share Project Code dialog used to invite crew members

From phone to desktop in one scan

Crew can open Zillit on their computer by scanning a QR code with their phone. It works much like WhatsApp Web, with no passwords to remember.

Behind the scenes, the web app creates a one-time code and shows it as a QR code. When the phone scans it, the backend links that code to the phone's account, and the browser signs in on its own a moment later.

Built around how a film set really works

Every new production starts with 57 film departments and more than 1,100 job titles already set up, from Camera and Costume to Catering, and available in 21 languages. Admins then fine-tune who can post on which board, who can see confidential files, and who can call or message whom.

I modelled each production as departments, job titles and "units", such as notice boards, document libraries, accounts and catering, each with its own posting rights. On top of that sits a permission grid that controls access in fine detail. The same structure also supports templates for other industries, such as hotels, hospitals and schools.

Zillit web profile settings: edit profile, invite user, preferences and recovery emailZillit admin settings with the file cabinet showing document categories such as Info, Continuity and Script Distribution

One production calendar for the whole crew

Productions run on schedules, so the calendar is central to Zillit. Crew can plan pre-production and production, create events for the team or private reminders, and invite colleagues. Each event can have a location, a time zone, a repeat pattern, reminders and even a conference call. Invitees accept or decline, and every change syncs to phones instantly.

I built the calendar API, including events, invitations, responses and year-by-year history, along with a scheduler that sends each reminder at the right moment and retires events once they're over. On the web, I built the month and week views, the event form, and lists of sent, personal and expired events.

Zillit web calendar month view with pre-production and production filtersCreate New Event form with repeat, time zone, notification, location, invitees and call typeZillit calendar week view showing a recurring daily eventCreated Events panel listing event details, repeat schedule, location and organiser

Chat, calls and documents in one place

Crew can chat one-to-one or in groups, share files, and make audio and video calls. Calls support mute, hold and switching between audio and video. Documents such as scripts and call sheets can be shared with everyone or kept confidential.

I set up separate real-time servers for chat and for calls. Calls use Agora, with secure access tokens issued by the backend. Calls ring even when a phone is locked, through Apple's VoIP push on iPhone and Firebase on Android.

Files upload directly to cloud storage in the region the production chooses. There are six regions across five AWS data centres, which keeps data close to the crew. The backend can also produce crew lists, calendars and purchase orders as PDFs carrying the production's own logo or watermark.

Purchase orders without the paperwork

Departments raise purchase orders, which move through multi-level approval chains before reaching suppliers. Supplier records, currencies, delivery addresses, contracts and profile-change requests are all tracked in the same place, so the production office has one record of everything.

SOS when it matters most

In an emergency, anyone can trigger an SOS alert. It goes immediately to the receivers that person has chosen, who can be fellow crew members or outside contacts such as a local medic. Alerts arrive as push notifications and SMS, so they get through even when someone isn't looking at the app.

Zillit SOS panel for choosing which crew members or outside contacts receive emergency alerts

Never missing an update

Unread counts follow each person across every board, chat and approval queue. Anyone can also choose an email digest, sent hourly, daily or weekly, so nothing slips through between days on set.

Under the hood

For technical readers, a summary of how it fits together:

  • API: Node.js and Express, with 245 endpoints across 39 modules and request validation with Joi

  • Database: MongoDB with Mongoose

  • Real time: Two dedicated Socket.IO servers, one for chat and one for calls, handling 36 events

  • Calls: Agora token service, Apple VoIP push and Firebase Cloud Messaging

  • Files: AWS S3 with pre-signed uploads and region-based storage

  • Messaging: Twilio for SOS SMS and voice alerts, and Nodemailer for email digests and reminders

  • Background jobs: Scheduled reminders for events, pending approvals, recovery emails and digests

  • Documents: HTML-to-PDF generation with watermarking, plus Excel exports

  • Web app: React 18, React Router and i18next for translations, a full calendar component, and QR-code login

Results

In 12 months, Zillit went from an idea to a working platform: one backend serving the web, iOS, Android and desktop apps, and a web app that gives crew a full workspace at their desks.

  • Funded by the BBC. Zillit has since secured BBC backing, and its board now includes the BBC's Chief Operating Officer and the President of Film Finances, the world's best-known film completion guarantor.

  • Rated 4.6★ on the App Store.

  • Global from day one. Available in 23 languages, with data stored across six regions.

  • Private by default. Crew collaborate on a production without ever sharing their personal phone numbers.

  • One source of truth. Notices, schedules, documents, calls, approvals and emergency alerts all live in one place.

Have a project like this?

Let's talk ↓
Next case studyAI LinkedIn Lead Generator