Sunday, 4 January 2026

How I Built Enjoy Movie Using a Fully Serverless Architecture

Building a modern web application usually requires backend servers, databases, authentication systems, and ongoing infrastructure costs. When I built Enjoy Movie, I intentionally avoided all of that.

The objective was clear:

Create a movie-tracking app that is fully serverless, free to operate, privacy-first, and easy to scale.

This post explains the exact technical architecture behind Enjoy Movie, including how user watch data is stored, synced in real time, and managed without any backend servers.


What Is Enjoy Movie?

Enjoy Movie is a personal movie and watch-tracking web app that allows users to:

  • Track watched movies

  • Manage watchlists

  • Sync data across devices

  • Retain full ownership of their data

The defining architectural decision is simple:

User data is never stored on my servers.

Instead, each user’s data lives inside their own Google Drive.


Why I Chose a Serverless Architecture

Traditional architectures require:

  • API servers

  • Databases

  • Authentication services

  • Backups and scaling strategies

  • Ongoing operational costs

For a personal media-tracking app, this complexity is unnecessary.

By using a serverless, client-driven architecture, Enjoy Movie benefits from:

  • Zero backend maintenance

  • Automatic scaling

  • No infrastructure costs

  • Strong privacy guarantees


Authentication Using Google Sign-In

Authentication is handled entirely using Google Sign-In.

When a user logs in:

  • Google authenticates the user via OAuth

  • No passwords are handled or stored by the app

  • A secure access token is issued to the client

This ensures:

  • High security

  • Simple onboarding

  • No custom authentication backend


Google Drive as the Database

After authentication, Enjoy Movie creates a private application folder inside the user’s Google Drive.

This folder stores:

  • watch-history.json

  • watchlist.json

  • progress.json

  • preferences.json

All data is stored as structured JSON files.

Why Google Drive Works as a Database

  • Every user already has Drive storage

  • Files are permission-restricted to the user

  • Google handles redundancy and reliability

  • No database setup or scaling required

From the app’s perspective, Google Drive behaves like a personal cloud database per user.


Real-Time Sync Without Any Backend

Whenever a user:

  • Marks a movie as watched

  • Updates progress

  • Modifies preferences

The app:

  1. Updates the local state

  2. Writes changes to the corresponding JSON file in Google Drive

  3. Relies on Google Drive’s sync to propagate changes across devices

This creates a real-time sync experience without:

  • WebSocket servers

  • Background jobs

  • Custom sync logic


Technical Architecture Diagram

Below is a simplified representation of how Enjoy Movie works end-to-end.

┌─────────────────────┐
│      User Browser   │
│  (Enjoy Movie App)  │
└─────────┬───────────┘
          │
          │ Google OAuth
          ▼
┌─────────────────────┐
│   Google Sign-In    │
│   Authentication   │
└─────────┬───────────┘
          │ Access Token
          ▼
┌──────────────────────────────┐
│        Google Drive API      │
│  (User-Owned App Folder)    │
│                              │
│  - watch-history.json        │
│  - watchlist.json            │
│  - progress.json             │
│  - preferences.json          │
└──────────────────────────────┘
          ▲
          │ Read / Write
          │
┌─────────┴───────────┐
│  Enjoy Movie App    │
│  (Client-Side Only) │
└─────────────────────┘

Key Architectural Properties

  • No backend servers

  • No centralized database

  • Each user owns their data

  • Google handles authentication, storage, and sync


Privacy-First by Design

This architecture provides strong privacy guarantees:

  • No user data is stored on my servers

  • I cannot view or access watch history

  • Data never passes through any backend I control

  • Users can delete all data by removing the app folder from Drive

Users fully own their information.


Infrastructure Cost Breakdown

Running Enjoy Movie costs exactly:



  • Backend servers
  • $0
  • Database
  • $0
  • Authentication
  • $0
  • Storage
  • $0
  • Scaling
  • $0

All infrastructure is provided by Google’s existing services.


Benefits of This Architecture

This model works best when:

  • Data is user-specific

  • Privacy matters

  • Zero operational cost is desired

  • Automatic scaling is required

  • Minimal maintenance is preferred

Each new user effectively brings their own backend.


Limitations to Consider

This approach is not suitable if your app requires:

  • Social feeds or shared user data

  • Server-side processing

  • Aggregated analytics across users

For a personal movie-tracking app like Enjoy Movie, it is an ideal solution.


Final Thoughts

Enjoy Movie demonstrates that you can build a modern, scalable web app without servers, databases, or paid infrastructure.

By leveraging Google Sign-In and Google Drive:

  • The app remains fully serverless

  • User data stays private

  • Costs remain zero

  • Scaling happens automatically

Sometimes, the best backend is no backend at all.

Share: