Key Features • Installation • How To Use • Credits • License
- AR Distance Measurement
- Place points in the real world and view distances with labels anchored in 3D space.
- Ruler Mode
- Create connected measurement lines with live previews and snapping to existing endpoints and midpoints.
- Flatten Mode (Pro)
- Mark four corners of a surface and transform it into a flattened, measurable image.
- Within the flattened image, auto detect shapes and display their corresponding width, height, and perimenter.
- Identify Mode (Pro)
- Detect and label common objects in real time using an on-device Core ML model.
- Powered by COCO 80 classification dataset, which was trained on yolo26n model.
- Smart Placement Guidance
- Receive visual guidance for low light, excessive movement, nearby surfaces, and AR tracking conditions.
- Save and Share
- Preview captures, save them to Photos, or export them through the iOS share sheet.
- Metric and Imperial Units
- Display measurements using your preferred unit system.
- LiDAR Support
- Use scene reconstruction on compatible devices for improved surface understanding.
- AR Screenshots
- Capture measurements and object-detection labels directly from the AR view.
- Haptic Feedback
- Receive tactile confirmation when placing measurement points.
- macOS with Xcode 26 or later
- iPhone or iPad running iOS 16.4 or later
- Apple Developer account for device signing
- A physical device with a camera
- AR measurement features cannot be fully tested in the simulator.
-
Clone the repository:
git clone https://github.com/ryan1337c/Meigan.git cd Meigan -
Open the Xcode project:
open Meigan.xcodeproj
-
Wait for Xcode to resolve the Swift Package Manager dependencies.
-
Select the Meigan target and open Signing & Capabilities.
-
Choose your Apple Developer Team and, if necessary, replace the bundle identifier with one registered to your account.
-
Connect your iPhone or iPad and select it as the run destination.
-
Press Run (
⌘R) to build and install Meigan.
The fastest way to try the app is to select Continue as guest. Ruler Mode does not require an account or subscription.
- Open Meigan and complete the introductory screens.
- Sign in, create an account, or select Continue as guest.
- Tap Start Measuring.
- Allow camera access when prompted.
- Move your device slowly until Meigan detects a surface.
- Select a measurement mode from the toolbar.
- Aim the crosshair at the point where you want the measurement to begin.
- Tap the Add Point button.
- Move the crosshair to another location and add another point.
- The distance appears between the points in 3D space.
- Continue adding points to create a connected measurement path.
- Use Clear to remove the current measurements.
Ruler Mode supports snapping to existing endpoints and segment midpoints for more precise placement.
- Select Flatten from the mode toolbar.
- Place four points around the corners of a flat surface.
- Adjust a corner by targeting and selecting it again, if needed.
- Tap Start Scan after all four corners are placed.
- Meigan creates a flattened image of the selected surface.
- Tap detected shapes to view their width, height, and perimeter.
- Save the result to Photos or share it with another app.
- Select Identify from the mode toolbar.
- Point the camera at an object.
- Keep the device steady while Meigan analyzes the scene.
- Detected objects appear with a name, confidence score, and bounding box.
- Capture a screenshot to save or share the labeled result.
Object detection runs on the device using Core ML.
- Tap the screenshot button while measuring.
- Review the image in the preview.
- Choose Save to add it to Photos or Share to open the iOS share sheet.
- Photo-library permission is requested only when saving an image.
Open Settings from the profile menu to:
- Switch between metric and imperial units
- Enable or disable haptic feedback
- Manage your profile and account
- View or manage your Meigan Pro subscription
Meigan uses Supabase for authentication, cloud preferences, account deletion, and subscription synchronization.
If you are creating your own deployment, replace the Supabase URL and publishable key in:
Meigan/Supabase.swift
Your Supabase project must provide:
- A
profiletable - A
sync_user_subscriptiondatabase function - A
validate-subscriptionEdge Function - A
delete-accountEdge Function
Backend migrations and Edge Function source files are not currently included in this repository.
Meigan uses the following open-source packages:
- Supabase Swift — authentication, cloud synchronization, and backend functions
- Swift Crypto
- Swift ASN.1
- Swift HTTP Types
- Swift Clocks
- Swift Concurrency Extras
- XCTest Dynamic Overlay
Meigan is built using Apple technologies including:
Special thanks to the developers and maintainers of these projects and technologies.
- Omni - A educational AI assistant web app
MIT