Skip to content

OmAr-Kader/KidsArea

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Kids Area (MVP)

An educational iOS app designed for kids to explore and learn through interactive PDF reading, freeform drawing, and real-time object recognition using CoreML and Wikipedia. This app is built in SwiftUI and leverages powerful frameworks to provide a rich, accessible learning environment.


🌟 Key Features

📚 PDF Viewer

  • Full PDF Rendering: Smooth page swiping and zooming via PDFKit.
  • Search & Highlight: Instant text search with highlighted matches.
  • Thumbnail Navigation: Quick jump to specific pages with a scrollable thumbnail bar.

✏️ Freeform Drawing (Based On GetStream Drawing)

  • PencilKit Canvas: UIKit-backed drawing view wrapped in SwiftUI.
  • Multiple Tools: Select pen, marker, highlighter, and eraser tools.
  • Color Palette: Choose from a vibrant set of colors.
  • Undo/Redo Stack: Reverse or reapply strokes.
  • Save & Share: Export drawings to the Photo Library or share via standard iOS share sheet.

📷 Camera & Object Recognition

  • Live Camera Feed: High-performance preview using AVFoundation and AVCaptureVideoPreviewLayer.
  • CoreML Detection: Real-time object classification using:
    • FastViTT8F16 on iOS 17.0 and above for improved accuracy and performance.
    • MobileNetV2FP16 on iOS 15.0–16.x devices for broad compatibility.
  • Wiki Integration: Upon detection, fetch a summary from Wikipedia's REST API and display alongside the camera view.

📖 Usage Examples

Search a PDF

  1. Tap the 🔍 icon in the top toolbar of the PDF Viewer.
  2. Enter a keyword; matching text is highlighted in yellow.
  3. Navigate between results with the next/previous arrows.

Draw on Canvas

  1. Select a tool from the bottom toolbar (pen, marker, eraser).
  2. Choose a color or thickness slider.
  3. Draw with your finger or Apple Pencil.
  4. Use ↩️ / ↪️ buttons to undo/redo strokes.

Object Recognition

  1. Go to the Camera tab.
  2. Point the camera at an object.
  3. Wait for the classification label to appear.
  4. Tap Learn More to view a Wikipedia summary.

🔗 Libraries & Tools

  • PDFKit: Native PDF rendering and annotation support.
  • PencilKit: iOS drawing framework for rich sketching experiences.
  • AVFoundation: Camera capture and preview layering.
  • CoreML & Vision: On-device inference for object classification.
  • Combine: Asynchronous data streams.
  • Kingfisher: Image caching and async loading.
  • Shimmer-SwiftUI-Modifier: Loading placeholders with shimmer effect.

📝 License

Distributed under the Apache License, Version 2.0. See the LICENSE file for details.


Screenshot

1 8
2 2
4 5

Screen Records

ScreenRecordLow.mov