Skip to content

Latest commit

Β 

History

133 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

BeReal Studio πŸ“Έ 🎬

Unified, Local-First Desktop Suite for BeReal GDPR Data Exports

Explore your memories in an authentic mobile feed & calendar, restore metadata, composite dual-camera memories, mux motion photos, and generate music-synchronized recap videos β€” 100% locally and privately.

Latest Release Release Build Status License Windows macOS Linux Privacy


πŸ“₯ Downloads & Installation

Download the official standalone release for your platform from the Latest Release Page:

Platform Format / Architecture Direct Download Link
Windows Windows .exe (64-bit NSIS Setup) ⬇️ Download for Windows (Installer)
Windows Windows .exe (64-bit Standalone) ⬇️ Download for Windows (Portable)
macOS macOS .dmg (Apple Silicon M1/M2/M3/M4) ⬇️ Download for macOS (Apple Silicon .dmg)
macOS macOS .app.tar.gz (Universal .app Bundle) ⬇️ Download for macOS (.app Bundle)
Linux Linux .AppImage (x86_64 Universal) ⬇️ Download for Linux (.AppImage)
Linux Linux .deb (Debian / Ubuntu x86_64) ⬇️ Download for Linux (.deb)

πŸ’‘ Looking for earlier releases, source archives, or release notes? Explore all GitHub Releases.


⚑ Prerequisites & External Tools

BeReal Studio is engineered with native Rust algorithms to minimize dependencies. Depending on the features you use:

Tool Status Purpose Installation
FFmpeg Required for Videos Rendering recap videos (.mp4), audio sync, and video PIP compositing. β€’ Windows Windows: winget install Gyan.FFmpeg
β€’ macOS macOS: brew install ffmpeg
β€’ Linux Linux: sudo apt install ffmpeg
ExifTool Optional / Recommended Extended video metadata & QuickTime .mov ContentIdentifier tagging.
(Note: Photos, EXIF/IPTC restoration, Samsung motion photos, and Apple Live Photos use our built-in 100% pure Rust engine and do not require ExifTool).
β€’ Windows Windows: winget install OliverBetz.ExifTool
β€’ macOS macOS: brew install exiftool
β€’ Linux Linux: sudo apt install libimage-exiftool-perl

πŸ” You can check and verify your system's FFmpeg and ExifTool status anytime inside BeReal Studio under Settings βš™οΈ β†’ System & Dependencies.


πŸ–ΌοΈ Application Showcase

🏠 Home Dashboard & Archive Scanner πŸ“± Native Memories & Calendar Explorer
Home Dashboard Memories Explorer
πŸ“Έ Photo Processing Suite & Dual Perspectives 🎬 Recap Video Generator & Audio Waveforms
Photo Processing Recap Video Generator
⚑ Active Operations & Generation History Queue
Activity History

✨ Key Features

πŸ“± 1. Native Memories & Calendar Explorer

  • Authentic BeReal Experience: Mobile-identical dark aesthetic designed to browse your entire GDPR archive seamlessly.
  • Dual View Modes: Switch effortlessly between a responsive Memories Card Grid (with viewport-filling timeline scrubber) and an interactive Monthly Calendar Matrix (with pinned sticky navigation).
  • Continuous Vertical Infinite Feed: Tap any post to open a smooth, continuous vertical feed with instant auto-scroll to the selected memory.
  • Dynamic Sticky Header: Tracks active post date and position (e.g. 18 August 2024 β€’ 14 of 420) as you scroll.
  • Interactive Dual-Camera Frame:
    • Click-to-Swap: Flip front and back cameras instantly.
    • Movable PIP: Drag and reposition the selfie PIP anywhere or snap to the 4 corners.
    • Inline BTS Player: Stream Behind-the-Scenes live video micro-clips with a single click.
  • Smart Search & Live Compound Filtering:
    • Filter posts by text query, GPS location, BTS clips, captions, retakes, year, month, city, and country.
    • Live dynamic count tags on all filter chips and dimension selectors update continuously as multi-level filters are applied.
  • Single-Memory Instant Export Dialog:
    • Picture-in-Picture & Side-by-Side: High-resolution dual-camera composites with lossless EXIF restoration.
    • Apple Live Photo (.jpg + .mov pair): Generates matching Apple Content Identifier UUID metadata (MakerApple:17 and com.apple.quicktime.content.identifier) recognized natively by macOS/iOS Apple Photos and iCloud.
    • Samsung & Google Motion Photos: Muxes Behind-the-Scenes (BTS) videos directly into JPEG headers via Samsung SEFH binary trailers and Google MicroVideo XMP.
    • Raw Media Clips & Camera Isolations: Export primary camera, selfie camera, or raw MP4 video clips independently.
  • Configurable Header Display: Customize location formatting (City/Country, Suburb, Full) and timestamp/late tag display in Settings.

πŸ“Έ 2. Photo Processing Suite

  • Metadata Restoration & EXIF Synchronization: Losslessly embeds original capture dates, times, GPS coordinates, and caption descriptions into EXIF/IPTC photo headers.
  • BeReal Moment Registry & True Cycle Date Anchoring: Accurately anchors posts taken late or past midnight to their true BeReal notification cycle dates.
  • Dual-Camera Compositing: Recreates BeReal's signature aesthetic with rounded corners and clean borders in Picture-in-Picture and Side-by-Side layouts.
  • Dual-Angle Perspective Export: Choose between Standard (primary background), Reversed (selfie background), or export Both Angles concurrently.
  • Samsung & Google Motion Photos: Muxes Behind-the-Scenes (BTS) videos into motion photos compatible with Samsung Gallery and Google Photos (requires JPEG format).
  • Visual Timeline & Date Range Filter: Interactive monthly activity density curve and calendar picker to easily filter memories by year, month, or custom dates.
  • Fast Batch Processing: Multi-threaded Rayon pipeline processes hundreds of archive photos in seconds.

🎬 3. Recap Video Generator

  • Music-Synchronized Recap Slideshows: Automatically paces memories to your chosen soundtrack (MP3, WAV, M4A, AAC, FLAC) with real-time waveform visualization.
  • Dynamic Timing Curves: Customize video pacing with quadratic ramp, even timing, accelerate, decelerate, or wave timing curves.
  • Smart Location & Date Stamps: Formats reverse-geocoded location stamps and custom date typography on each memory slide.
  • Offline Spatial Reverse Geocoder: Built-in in-memory GeoNames spatial index for instant, offline city/country resolution with zero network pauses.
  • Live Video Preview: Interactive player to preview your recap sequence before rendering.
  • Background Multi-Job Queue: Render videos and process photo batches simultaneously in the background without UI interruption.

πŸ“‹ How to Download Your Archive from BeReal

  1. Open the BeReal mobile app and tap your Profile icon (bottom-right).
  2. Tap the Settings icon (top-right).
  3. Tap Help β†’ Select Contact Us.
  4. Select Ask a Question β†’ Tap Troubleshooting β†’ Tap Other.
  5. Tap Contact Us at the bottom β†’ Select the Topic dropdown.
  6. Select "I'd like to request a copy of my data".
  7. Type a message with at least 10 characters (e.g., "Please provide a copy of my account data") and submit.
  8. BeReal will deliver a secure download link via email containing your official archive ZIP (including posts.json and all media).
  9. Once downloaded, select the ZIP or unzipped folder directly in BeReal Studio.

πŸ› οΈ Prerequisites (For Building from Source)

  1. Rust Toolchain:
    • Install via rustup.rs (Rust 1.78+ recommended).
  2. Package Manager & JavaScript Runtime:
    • Bun (Recommended for ultra-fast startup): Install via bun.sh (powershell -c "irm bun.sh/install.ps1 | iex").
    • NPM / PNPM / Yarn (Fully Supported): Standard Node.js v18+ environment works out-of-the-box.
  3. FFmpeg (For Recap Video & Motion Photos):
    • Required for video slideshow encoding and dual-video PIP overlays.
    • Windows: winget install Gyan.FFmpeg or download from ffmpeg.org.
    • macOS: brew install ffmpeg
    • Linux: sudo apt install ffmpeg

πŸš€ Running Locally

You can use Bun (recommended) or NPM / PNPM / Yarn:

Option A: Using Bun (Fastest)

# Install dependencies
bun install

# Start local desktop development server
bun run tauri dev

Option B: Using NPM

# Install dependencies
npm install

# Start local desktop development server
npm run tauri dev

πŸ“¦ Building & Packaging

To compile a self-contained release executable and installer for your operating system:

# With Bun
bun run tauri build

# With NPM
npm run tauri build

Build Artifact Locations:

  • Windows: src-tauri/target/release/bundle/nsis/BeReal Studio_2.3.2_x64-setup.exe or src-tauri/target/release/bereal-studio.exe
  • macOS: src-tauri/target/release/bundle/dmg/BeReal Studio_2.3.2_aarch64.dmg or universal.dmg
  • Linux: src-tauri/target/release/bundle/deb/bereal-studio_2.3.2_amd64.deb or appimage/BeReal Studio_2.3.2_amd64.AppImage

πŸ§ͺ Testing & Verification

# Run Svelte & TypeScript diagnostics
bun run check
# or: npm run check

# Run Rust unit tests and benchmark suite
cargo test --manifest-path src-tauri/Cargo.toml

πŸ—οΈ Architecture & Directory Structure

BeRealStudio/
β”œβ”€β”€ src/                                    # Frontend (SvelteKit SPA + TypeScript)
β”‚   β”œβ”€β”€ app.html                            # Root HTML & Inter font imports
β”‚   β”œβ”€β”€ styles/global.css                   # Custom dark design system tokens & font-faces
β”‚   β”œβ”€β”€ lib/
β”‚   β”‚   β”œβ”€β”€ types.ts                        # TypeScript models & IPC interfaces
β”‚   β”‚   β”œβ”€β”€ tauri.ts                        # Tauri IPC bridge & typed event listeners
β”‚   β”‚   β”œβ”€β”€ stores.ts                       # Svelte reactive state stores
β”‚   β”‚   β”œβ”€β”€ memoriesStore.ts                # Memories explorer state & live compound filtering
β”‚   β”‚   └── fonts.ts                        # Curated built-in font definitions
β”‚   β”œβ”€β”€ components/                         # Reusable UI Component Suite
β”‚   β”‚   β”œβ”€β”€ NavBar.svelte                   # Top navigation bar (Home, Photos, Recap, Settings, About)
β”‚   β”‚   β”œβ”€β”€ Toggle.svelte                   # Animated on/off switch
β”‚   β”‚   β”œβ”€β”€ Slider.svelte                   # Value range slider with value pill
β”‚   β”‚   β”œβ”€β”€ FilePicker.svelte               # Native folder & file dialog wrapper
β”‚   β”‚   β”œβ”€β”€ DateRangePicker.svelte          # Dual date pickers with monthly density histogram
β”‚   β”‚   β”œβ”€β”€ ProgressBar.svelte              # Streaming progress indicator
β”‚   β”‚   β”œβ”€β”€ LogConsole.svelte               # Color-coded live terminal log
β”‚   β”‚   β”œβ”€β”€ ErrorModal.svelte               # Categorized error overlay
β”‚   β”‚   β”œβ”€β”€ FontPicker.svelte               # Curated 7-font dropdown selector
β”‚   β”‚   β”œβ”€β”€ RuleEditor.svelte               # Reverse geocoding rules editor
β”‚   β”‚   └── memories/                       # Memories & Explorer Component Suite
β”‚   β”‚       β”œβ”€β”€ MemoriesGrid.svelte         # Responsive memory card grid & full-height scrubber
β”‚   β”‚       β”œβ”€β”€ CalendarGrid.svelte         # Interactive monthly calendar with sticky navigation
β”‚   β”‚       β”œβ”€β”€ DualCameraFrame.svelte      # Dual-camera frame with click-to-swap & movable PIP
β”‚   β”‚       β”œβ”€β”€ MemoryFeedModal.svelte      # Fullscreen continuous vertical scroll feed
β”‚   β”‚       β”œβ”€β”€ MemoryFilterBar.svelte      # Live compound search & dimension filters
β”‚   β”‚       β”œβ”€β”€ MemoryActionMenu.svelte     # Memory 3-dot dropdown menu
β”‚   β”‚       β”œβ”€β”€ MemoryContextMenu.svelte    # Right-click context menu
β”‚   β”‚       └── ExportMemoryModal.svelte    # Single-memory export dialog (Apple Live Photo & Motion Photo)
β”‚   β”œβ”€β”€ views/                              # Application Primary Views
β”‚   β”‚   β”œβ”€β”€ Home.svelte                     # Main dashboard with hero & feature cards
β”‚   β”‚   β”œβ”€β”€ MemoriesView.svelte             # Native Memories & Calendar Explorer View
β”‚   β”‚   β”œβ”€β”€ ToolkitConfig.svelte            # Photo processing configuration view
β”‚   β”‚   β”œβ”€β”€ RecapperConfig.svelte           # Recap video configuration view with live preview
β”‚   β”‚   β”œβ”€β”€ Activity.svelte                 # Parallel active operations & generation history
β”‚   β”‚   β”œβ”€β”€ Processing.svelte               # Real-time progress & live streaming log view
β”‚   β”‚   β”œβ”€β”€ Complete.svelte                 # Summary metrics, output opener & log exporter
β”‚   β”‚   β”œβ”€β”€ Settings.svelte                 # Global defaults, FFmpeg detection & inspector tools
β”‚   β”‚   └── About.svelte                    # Privacy manifesto, authoring & open source credits
β”‚   └── routes/+page.svelte                 # SPA root page router
β”‚
β”œβ”€β”€ src-tauri/                              # Rust Backend (Tauri v2)
β”‚   β”œβ”€β”€ Cargo.toml                          # Native dependencies (image, img-parts, symphonia, rayon, etc.)
β”‚   β”œβ”€β”€ tauri.conf.json                     # Desktop window & plugin configuration
β”‚   β”œβ”€β”€ capabilities/default.json           # Tauri v2 security capabilities
β”‚   β”œβ”€β”€ tests/
β”‚   β”‚   └── benchmark_suite.rs              # End-to-end performance benchmarking harness
β”‚   └── src/
β”‚       β”œβ”€β”€ main.rs & lib.rs                # Tauri entry & command registration
β”‚       β”œβ”€β”€ state.rs                        # Global state, ProgressEmitter & log buffer
β”‚       β”œβ”€β”€ commands/                       # IPC Command Handlers
β”‚       β”‚   β”œβ”€β”€ archive.rs                  # scan_archive, extract_zip (streaming)
β”‚       β”‚   β”œβ”€β”€ toolkit.rs                  # start_toolkit, cancel_toolkit (Rayon multi-core)
β”‚       β”‚   β”œβ”€β”€ recapper.rs                 # start_recapper, cancel_recapper
β”‚       β”‚   β”œβ”€β”€ explorer.rs                 # load_memories, export_single_memory (Live Photo & Motion Photo)
β”‚       β”‚   β”œβ”€β”€ settings.rs                 # load_settings, save_settings, reset_settings
β”‚       β”‚   β”œβ”€β”€ system.rs                   # show_in_folder, check_ffmpeg, offline geodb, analyze_audio
β”‚       β”‚   └── debug.rs                    # export_debug_log, get_debug_logs
β”‚       β”œβ”€β”€ pipeline/                       # Photo Processing Logic
β”‚       β”‚   β”œβ”€β”€ parser.rs                   # Authoritative dataset fusion & moment registry
β”‚       β”‚   β”œβ”€β”€ image_ops.rs                # Format conversion, PIP & Side-by-Side compositing
β”‚       β”‚   β”œβ”€β”€ exif_writer.rs              # Lossless EXIF & IPTC JPEG segment injection
β”‚       β”‚   β”œβ”€β”€ live_photo.rs               # Apple Photos Live Photo pair (.jpg + .mov) generator
β”‚       β”‚   β”œβ”€β”€ motion_photo.rs             # Samsung SEFH/SEFT binary muxer & GCamera XMP
β”‚       β”‚   β”œβ”€β”€ video_ops.rs                # FFmpeg dual-video PIP overlay
β”‚       β”‚   β”œβ”€β”€ date_filter.rs              # Range filtering & density distribution
β”‚       β”‚   └── cleanup.rs                  # Intermediate artifact cleanup
β”‚       └── recapper/                       # Recap Video Engine
β”‚           β”œβ”€β”€ audio.rs                    # Symphonia audio decoding & waveform analysis
β”‚           β”œβ”€β”€ timing.rs                   # Quadratic ramp / even timing curves
β”‚           β”œβ”€β”€ geocoder.rs                 # Nominatim reverse geocoding & offline GeoDB
β”‚           β”œβ”€β”€ location_rules.rs           # Country-specific location formatting engine
β”‚           β”œβ”€β”€ font_resolver.rs            # Built-in font resolver & disk loader
β”‚           β”œβ”€β”€ frame_renderer.rs           # Image resize & text overlay with shadows
β”‚           └── video_encoder.rs            # Zero-copy raw RGB frame piping to FFmpeg stdin
β”œβ”€β”€ package.json                            # App manifest & dependencies (v2.3.0)
└── README.md                               # User documentation & GDPR guide

πŸ—ΊοΈ Future Roadmap & Upcoming Features

  • πŸ“… Native BeReal-Style Memories & Calendar Viewer (Completed in v2.0.0 & v2.3.0):
    • Monthly Memories Calendar Matrix with day thumbnails, late badges, and retake counters.
    • Interactive Feed & Lightbox with front/back camera click-to-swap and movable PIP.
    • Multi-dimensional search, hierarchical location drawers, and single-memory exports.
    • Smooth 1:1 pointer drag panning and zoom controls for high-res photo and video exploration.
    • Full Video BeReal support with synchronized dual-video playback and Side-by-Side MP4 combining.
  • 🍏 Apple Photos Live Photos Compatibility (Completed in v2.2.1):
    • Export paired still image (.jpg) and video (.mov) files with matching Apple Content Identifier UUID (MakerApple:17 and com.apple.quicktime.content.identifier) for native drag-and-drop Live Photo recognition in Apple Photos and iCloud.
  • 🏷️ Direct Caption Burn-In on Exported Photos:
    • Optional setting to burn original BeReal captions in authentic semi-transparent rounded pill styling directly onto composited images or recap slides.
  • 🎬 Recap Video Library & Gallery Viewer:
    • In-app gallery indexing all rendered recap MP4s with playback preview, waveform scrubber, and quick actions ("Open in Player", "Show in Explorer").

πŸ’– Credits & Open Source Lineage

BeReal Studio is authored and maintained by NotToxel (GitHub Repository).

It unifies, rewrites, and modernizes the core capabilities of three pioneer open-source projects into a single, high-performance desktop application:

  • BeReel (by @theOneAndOnlyOne) β€” Creator of the music-synchronized BeReal recap video generator.
  • BeReal-GDPR-Photo-Toolkit (by @hatobi) β€” Pioneer of BeReal GDPR archive extraction, EXIF metadata restoration, and Picture-in-Picture photo compositing.
  • makelive (Make Live) (by @mifi) β€” Pioneer of Apple Photos Live Photo generation, inspiring our native Rust binary muxing of paired still photos (.jpg) and Behind-the-Scenes micro-videos (.mov) with synchronized Apple Content Identifier UUIDs (MakerApple:17 EXIF & com.apple.quicktime.content.identifier QuickTime metadata).

πŸ“œ License

GNU General Public License v3.0 or later (GPL-3.0-or-later) Β© 2026 NotToxel and BeReal Studio Contributors.

BeReal Studio is free and open-source software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

About

BeReal Studio is the cross-platform desktop app to fully manage your BeReal memories from a GDPR export. Providing importing tagging, viewing and generate custom recap videos.

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Contributors

Languages