Basset

  • Features:
    • Media trimming with preview
    • Media conversion
    • Media compression
    • Video quality downgrading
    • Multi-lingual support
    • Dark/Light mode
    • Privacy-focused
  • Download: APK

Overview:

This cross-platform media utility app empowers users to trim, convert, compress, and downgrade the quality of media files, all directly on their mobile device. With a privacy-first approach, the app ensures that all processing happens locally, avoiding cloud uploads. It also features multilingual support, dark/light mode, and an intuitive native UI for efficient media management.

My Role:

I was responsible for architecting and building the complete application using TypeScript and Expo SDK 51. My focus was on delivering a performant and privacy-preserving media editing experience by leveraging native capabilities through FFmpeg integration, and creating a smooth, modern UI using community-backed libraries.

Key Responsibilities:

  • Media Editing Features: Integrated ffmpeg-kit-react-native to enable offline trimming, conversion, and compression of media files with preview support.
  • UI/UX Design: Built a clean and responsive interface using react-native-tab-view, react-native-multi-slider, and react-native-progress for real-time trimming feedback and smooth navigation.
  • File Handling: Leveraged expo-document-picker and expo-media-library for secure file access and management, and used expo-file-system for local operations and file transformations.
  • State Management: Used Zustand for minimal and efficient global state management with persistent user preferences via @react-native-async-storage/async-storage.
  • Privacy & Performance: Ensured all media processing occurred locally, with zero cloud dependency, to enhance performance and protect user privacy.
  • Localization: Added multi-language support using i18next and react-i18next, combined with @os-team/i18next-react-native-language-detector for seamless language detection.
  • System Integration: Added support for native sharing via expo-share-intent and device-level feedback using expo-haptics for a polished, native feel.