diff --git a/mobile/ios/Runner/BackgroundSync/BackgroundServicePlugin.swift b/mobile/ios/Runner/BackgroundSync/BackgroundServicePlugin.swift
index c84b037daf..cac9faab01 100644
--- a/mobile/ios/Runner/BackgroundSync/BackgroundServicePlugin.swift
+++ b/mobile/ios/Runner/BackgroundSync/BackgroundServicePlugin.swift
@@ -160,7 +160,7 @@ class BackgroundServicePlugin: NSObject, FlutterPlugin {
         }
     }
     
-    // Called by the flutter code when enabled so that we can turn on the backround services
+    // Called by the flutter code when enabled so that we can turn on the background services
     // and save the callback information to communicate on this method channel
     public func handleBackgroundEnable(call: FlutterMethodCall, result: FlutterResult) {
         
@@ -249,7 +249,7 @@ class BackgroundServicePlugin: NSObject, FlutterPlugin {
         result(true)
     }
     
-    // Returns the number of currently scheduled background processes to Flutter, striclty
+    // Returns the number of currently scheduled background processes to Flutter, strictly
     // for debugging
     func handleNumberOfProcesses(call: FlutterMethodCall, result: @escaping FlutterResult) {
         BGTaskScheduler.shared.getPendingTaskRequests { requests in
@@ -355,7 +355,7 @@ class BackgroundServicePlugin: NSObject, FlutterPlugin {
             let isExpensive = wifiMonitor.currentPath.isExpensive
             if (isExpensive) {
                 // The network is expensive and we have required Wi-Fi
-                // Therfore, we will simply complete the task without
+                // Therefore, we will simply complete the task without
                 // running it
                 task.setTaskCompleted(success: true)
                 return
diff --git a/mobile/lib/mixins/error_logger.mixin.dart b/mobile/lib/mixins/error_logger.mixin.dart
index 9b2bc6f98e..466028c338 100644
--- a/mobile/lib/mixins/error_logger.mixin.dart
+++ b/mobile/lib/mixins/error_logger.mixin.dart
@@ -7,7 +7,7 @@ mixin ErrorLoggerMixin {
   abstract final Logger logger;
 
   /// Returns an AsyncValue<T> if the future is successfully executed
-  /// Else, logs the error to the overrided logger and returns an AsyncError<>
+  /// Else, logs the error to the overridden logger and returns an AsyncError<>
   AsyncFuture<T> guardError<T>(
     Future<T> Function() fn, {
     required String errorMessage,
diff --git a/mobile/lib/providers/asset_viewer/download.provider.dart b/mobile/lib/providers/asset_viewer/download.provider.dart
index 68b120c38a..d699c7c763 100644
--- a/mobile/lib/providers/asset_viewer/download.provider.dart
+++ b/mobile/lib/providers/asset_viewer/download.provider.dart
@@ -104,7 +104,7 @@ class DownloadStateNotifier extends StateNotifier<DownloadState> {
   }
 
   void _taskProgressCallback(TaskProgressUpdate update) {
-    // Ignore if the task is cancled or completed
+    // Ignore if the task is canceled or completed
     if (update.progress == -2 || update.progress == -1) {
       return;
     }
diff --git a/mobile/lib/providers/asset_viewer/share_intent_upload.provider.dart b/mobile/lib/providers/asset_viewer/share_intent_upload.provider.dart
index a5a42ec796..ed2c485b13 100644
--- a/mobile/lib/providers/asset_viewer/share_intent_upload.provider.dart
+++ b/mobile/lib/providers/asset_viewer/share_intent_upload.provider.dart
@@ -117,7 +117,7 @@ class ShareIntentUploadStateNotifier
   }
 
   void _taskProgressCallback(TaskProgressUpdate update) {
-    // Ignore if the task is cancled or completed
+    // Ignore if the task is canceled or completed
     if (update.progress == downloadFailed ||
         update.progress == downloadCompleted) {
       return;
diff --git a/mobile/lib/providers/auth.provider.dart b/mobile/lib/providers/auth.provider.dart
index e2b15753a9..e2939e89ce 100644
--- a/mobile/lib/providers/auth.provider.dart
+++ b/mobile/lib/providers/auth.provider.dart
@@ -47,7 +47,7 @@ class AuthNotifier extends StateNotifier<AuthState> {
   }
 
   /// Validating the url is the alternative connecting server url without
-  /// saving the infomation to the local database
+  /// saving the information to the local database
   Future<bool> validateAuxilaryServerUrl(String url) async {
     try {
       final validEndpoint = await _apiService.resolveEndpoint(url);
diff --git a/mobile/lib/providers/gallery_permission.provider.dart b/mobile/lib/providers/gallery_permission.provider.dart
index 8077ca99fe..07d9cca591 100644
--- a/mobile/lib/providers/gallery_permission.provider.dart
+++ b/mobile/lib/providers/gallery_permission.provider.dart
@@ -6,7 +6,7 @@ import 'package:permission_handler/permission_handler.dart';
 
 class GalleryPermissionNotifier extends StateNotifier<PermissionStatus> {
   GalleryPermissionNotifier()
-      : super(PermissionStatus.denied) // Denied is the intitial state
+      : super(PermissionStatus.denied) // Denied is the initial state
   {
     // Sets the initial state
     getGalleryPermissionStatus();
diff --git a/mobile/lib/services/auth.service.dart b/mobile/lib/services/auth.service.dart
index be6c64bc43..20fa62dc4b 100644
--- a/mobile/lib/services/auth.service.dart
+++ b/mobile/lib/services/auth.service.dart
@@ -75,7 +75,7 @@ class AuthService {
         isValid = true;
       }
     } catch (error) {
-      _log.severe("Error validating auxilary endpoint", error);
+      _log.severe("Error validating auxiliary endpoint", error);
     } finally {
       httpclient.close();
     }
@@ -187,7 +187,7 @@ class AuthService {
         _log.severe("Cannot resolve endpoint", error);
         continue;
       } catch (_) {
-        _log.severe("Auxilary server is not valid");
+        _log.severe("Auxiliary server is not valid");
         continue;
       }
     }
diff --git a/mobile/lib/services/background.service.dart b/mobile/lib/services/background.service.dart
index f4597831d2..e457102d9f 100644
--- a/mobile/lib/services/background.service.dart
+++ b/mobile/lib/services/background.service.dart
@@ -329,7 +329,7 @@ class BackgroundService {
         try {
           _clearErrorNotifications();
 
-          // iOS should time out after some threshhold so it doesn't wait
+          // iOS should time out after some threshold so it doesn't wait
           // indefinitely and can run later
           // Android is fine to wait here until the lock releases
           final waitForLock = Platform.isIOS
diff --git a/mobile/lib/services/sync.service.dart b/mobile/lib/services/sync.service.dart
index ddca266006..34df461866 100644
--- a/mobile/lib/services/sync.service.dart
+++ b/mobile/lib/services/sync.service.dart
@@ -639,7 +639,7 @@ class SyncService {
   }
 
   /// fast path for common case: only new assets were added to device album
-  /// returns `true` if successfull, else `false`
+  /// returns `true` if successful, else `false`
   Future<bool> _syncDeviceAlbumFast(Album deviceAlbum, Album dbAlbum) async {
     if (!deviceAlbum.modifiedAt.isAfter(dbAlbum.modifiedAt)) {
       return false;
diff --git a/mobile/lib/utils/cache/custom_image_cache.dart b/mobile/lib/utils/cache/custom_image_cache.dart
index a2a7839172..dcb8dacb0d 100644
--- a/mobile/lib/utils/cache/custom_image_cache.dart
+++ b/mobile/lib/utils/cache/custom_image_cache.dart
@@ -5,7 +5,7 @@ import 'package:immich_mobile/providers/image/immich_remote_image_provider.dart'
 import 'package:immich_mobile/providers/image/immich_remote_thumbnail_provider.dart';
 
 /// [ImageCache] that uses two caches for small and large images
-/// so that a single large image does not evict all small iamges
+/// so that a single large image does not evict all small images
 final class CustomImageCache implements ImageCache {
   final _small = ImageCache();
   final _large = ImageCache()..maximumSize = 5; // Maximum 5 images
diff --git a/mobile/lib/widgets/photo_view/src/utils/photo_view_utils.dart b/mobile/lib/widgets/photo_view/src/utils/photo_view_utils.dart
index 9c632df3bf..facd701725 100644
--- a/mobile/lib/widgets/photo_view/src/utils/photo_view_utils.dart
+++ b/mobile/lib/widgets/photo_view/src/utils/photo_view_utils.dart
@@ -26,7 +26,7 @@ double getScaleForScaleState(
 }
 
 /// Internal class to wraps custom scale boundaries (min, max and initial)
-/// Also, stores values regarding the two sizes: the container and teh child.
+/// Also, stores values regarding the two sizes: the container and the child.
 class ScaleBoundaries {
   const ScaleBoundaries(
     this._minScale,