https://github.com/developeracademy-postech/2025-c6-a15-a-iscreem
아이패드로 유튜브 강의를 들으며 공부하는 공대생의 몰입이 깨지지 않도록 AI가 요약하고 핵심 키워드를 보여주면서 바로 질문할 수 있는 앱
https://github.com/developeracademy-postech/2025-c6-a15-a-iscreem
ai apple applefoundationalmodels learning llm machine-learning swiftui
Last synced: 9 days ago
JSON representation
아이패드로 유튜브 강의를 들으며 공부하는 공대생의 몰입이 깨지지 않도록 AI가 요약하고 핵심 키워드를 보여주면서 바로 질문할 수 있는 앱
- Host: GitHub
- URL: https://github.com/developeracademy-postech/2025-c6-a15-a-iscreem
- Owner: DeveloperAcademy-POSTECH
- License: mit
- Created: 2025-10-20T06:56:45.000Z (8 months ago)
- Default Branch: dev
- Last Pushed: 2025-11-22T05:38:22.000Z (7 months ago)
- Last Synced: 2025-11-22T06:18:50.134Z (7 months ago)
- Topics: ai, apple, applefoundationalmodels, learning, llm, machine-learning, swiftui
- Language: Swift
- Homepage:
- Size: 3.83 MB
- Stars: 3
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
### ℹ️📋 [learningTool/AINO]
## 📲 Download
| 플랫폼 | 링크 |
|--------|------|
| iOS / iPadOS | [](https://apps.apple.com/kr/app/aino-%EC%95%84%EC%9D%B4%EB%85%B8-ai-%ED%95%99%EC%8A%B5%EB%85%B8%ED%8A%B8/id6754547683) |
## [Logo/Cover Image]

[Dark-teal]
[Dark-purple]
[Dark-amber]

## [App statement]
아이패드로 유튜브 강의를 들으며 공부하는 대학생의 몰입이 깨지지 않도록 AI가 요약하고 핵심 키워드를 보여주면서 바로 질문할 수 있는 앱
## [App statement][Eng]
An app designed for university students studying with YouTube lectures on iPad — it helps maintain focus by using AI to summarize content, highlight key concepts, and enable instant questions without breaking immersion.
### 📞 Apple Intelligence (On-Device) Requirements
This app’s AI summarization uses Apple’s on-device foundation model (Apple Intelligence).
- **iPhone:** iPhone 16 lineup, iPhone 15 Pro/Pro Max
- **iPad:** iPad mini (A17 Pro), iPad models with **M1 or later**
- **Mac:** **M1 or later**
- Make sure **Apple Intelligence is enabled** and **Siri + device language** are set to a supported language (e.g., Korean).
> On devices that don’t meet these requirements, the app may fall back to server summarization (if configured) or disable summarization.
Refs: Apple Newsroom availability notes. [oai_citation:5‡Apple](https://www.apple.com/newsroom/2025/06/apple-elevates-the-iphone-experience-with-ios-26/)
## 📘 AINO - 아이노, AI 학습노트
유튜브 강의로 공부하는 대학생을 위한 **AI 학습노트 앱**입니다.
Apple Intelligence 기반 자동 요약 + 키워드 추출 + 질문/채팅까지 한 번에 지원합니다.
## 👨🏻💻👩🏻💻
---
| |
|:---:|
| ![iPad 01]() |
| ![iPad 02]() |
| ![iPad 03]() |
| ![iPad 04]() |
| ![iPad 05]() |
---
| | |
|:---:|:---:|
|  |  |
|  |  |
|  | |
---
## :pushpin: Features
- 영상 강의(유튜브 한정) 노트 저장
- 폴더별 노트 관리
- 강의 내용 구간별 요약
- 구간 요약시 맥락에 맞게 도출되는 주요 키워드
- 제미나이(이용자 api key 설정 후)AI를 통한 채팅 질문
- 키워드에 호버하여 빠른 채팅 입력
- 키워드 입력시 적당한 질문을 생성해주는 질문 생성 기능
## 🌿 Tree
```
.
├── AINO
│ ├── Assets.xcassets
│ │ ├── AccentColor.colorset
│ │ │ └── Contents.json
│ │ ├── AppIcon.appiconset
│ │ │ ├── Contents.json
│ │ │ ├── Main_1024.jpg
│ │ │ ├── tinted_amber.png
│ │ │ └── tinted_teal.png
│ │ ├── Contents.json
│ │ └── GlassBackdrop.imageset
│ ├── Components
│ │ ├── HeaderComponents.swift
│ │ ├── HelpView.swift
│ │ ├── KeywordViewComponent.swift
│ │ ├── NoteComponent.swift
│ │ └── QuestionBubbleComponent.swift
│ ├── Extensions
│ │ ├── Color+Extension.swift
│ │ ├── Font+Extension.swift
│ │ ├── View+Corners.swift
│ │ └── View+Keyboard.swift
│ ├── LearningToolApp.swift
│ ├── Models
│ │ ├── ChatMessage.swift
│ │ ├── Folder.swift
│ │ ├── LearningLogStore.swift
│ │ └── Note.swift
│ ├── Services
│ │ └── GeminiAPIService.swift
│ ├── ViewModels
│ │ ├── CaptionAnalyzer
│ │ │ ├── AppleFMSummarizer.swift
│ │ │ ├── CaptionAnalyzerViewModel.swift
│ │ │ ├── HTTPSummarizer.swift
│ │ │ ├── KeywordExtractor.swift
│ │ │ ├── SummaizerEngine.swift
│ │ │ ├── Summarizer.swift
│ │ │ └── VTTParser.swift
│ │ ├── HomeViewModel.swift
│ │ ├── QuestionViewModel.swift
│ │ ├── SidebarViewModel.swift
│ │ └── StudyViewModel.swift
│ ├── Views
│ │ ├── HomeView
│ │ │ ├── BaseLayoutScaler.swift
│ │ │ ├── CreateNoteView.swift
│ │ │ ├── DestructiveConfirmAlertView.swift
│ │ │ ├── FolderDeleteView.swift
│ │ │ ├── GridMode.swift
│ │ │ ├── Helpers.swift
│ │ │ ├── HomeView.swift
│ │ │ ├── ListMode.swift
│ │ │ ├── Overlay.swift
│ │ │ ├── SettingView.swift
│ │ │ ├── SidebarView.swift
│ │ │ ├── TrashService.swift
│ │ │ ├── TrashView.swift
│ │ │ ├── Utils
│ │ │ │ ├── KoreanSearchUtils.swift
│ │ │ │ └── NoteFormattingUtils.swift
│ │ │ └── ViewModelToggle.swift
│ │ ├── StudyHistoryView
│ │ │ └── StudyHistoryView.swift
│ │ └── StudyView
│ │ ├── ChatAreaView.swift
│ │ ├── ChatBubble.swift
│ │ ├── ChatBubbleView.swift
│ │ ├── KeywordView.swift
│ │ ├── MediaView.swift
│ │ ├── QuestionHeaderBar.swift
│ │ ├── QuestionInputBar.swift
│ │ ├── QuestionView.swift
│ │ ├── StudyView.swift
│ │ ├── SuggestionsSheetView.swift
│ │ ├── SummaryView.swift
│ │ └── UIEffects.swift
│ └── Web
│ ├── YouTubeThumbnail.swift
│ ├── YouTubeWebViewHost.swift
│ └── YouTubeWebViewRepresentable..swift
├── AINO.xcodeproj
│ ├── project.pbxproj
│ ├── project.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ ├── xcshareddata
│ │ │ └── swiftpm
│ │ │ └── configuration
│ │ └── xcuserdata
│ │ ├── coulson.xcuserdatad
│ │ │ └── UserInterfaceState.xcuserstate
│ │ └── mumin.xcuserdatad
│ │ └── UserInterfaceState.xcuserstate
│ └── xcuserdata
│ ├── coulson.xcuserdatad
│ │ ├── xcdebugger
│ │ │ └── Breakpoints_v2.xcbkptlist
│ │ └── xcschemes
│ │ └── xcschememanagement.plist
│ └── mumin.xcuserdatad
│ └── xcschemes
│ └── xcschememanagement.plist
├── architecture.svg
├── data-model.svg
├── flowchart-home-note-study-history-return.svg
├── iPad
│ ├── iPad Pro 11_ - 1.png
│ ├── iPad Pro 11_ - 2.png
│ ├── iPad Pro 11_ - 3.png
│ ├── iPad Pro 11_ - 4.png
│ └── iPad Pro 11_ - 5.png
├── iPhone
│ ├── iPhone 16 - 1.png
│ ├── iPhone 16 - 2.png
│ ├── iPhone 16 - 3.png
│ ├── iPhone 16 - 4.png
│ └── iPhone 16 - 5.png
├── LICENSE
├── README.md
├── sequenceDiagram.svg
└── StudyView-flowchart.svg
```
# 📊 Diagrams
빠르게 훑어보기:
- [Architecture](#architecture)
- [Data Model](#data-model)
- [App Flow (Home→Note→Study→History→Return)](#app-flow-homenotenotestudyhistoryreturn)
- [Sequence Diagram](#sequence-diagram)
- [StudyView Flow](#studyview-flow)
---
## Architecture
### 아키텍처(클래스/뷰/서비스) 다이어그램 소스

## Data Model
### 데이터/모델 다이어그램 소스

## App Flow (Home→Note→Study→History→Return)
### 홈 → 노트 선택 → 스터디(미디어/요약/키워드/질문) → 학습기록/복귀 흐름

## StudyView Flow
### 자막 확보부터 요약·키워드·학습기록 저장까지

## Sequence Diagram
### 홈 → 노트 선택 → 스터디(미디어/요약/키워드/질문) → 학습기록/복귀

## :framed_picture: Demo
Attach videos if you are available

https://github.com/user-attachments/assets/e98da29a-7157-47d5-a971-de8b2e455354
https://github.com/user-attachments/assets/dd83c9b4-400e-451e-8281-f5bc6a1d1a1e
https://github.com/user-attachments/assets/8d3b2d55-5ce6-4507-8468-94ee9e7dae59
## :sparkles: Skills & Tech Stack
• 언어/런타임: Swift 5.x, Swift Concurrency(async/await, Task, @MainActor)
• UI: SwiftUI (NavigationSplitView, UIViewRepresentable로 WKWebView 브리지)
• 데이터: SwiftData (@Model, ModelContext, 영속화/캐시)
• 웹: WebKit (WKWebView, WKUserScript, WKScriptMessageHandler로 JS ↔︎ 네이티브 브릿지)
• 요약/지능(옵션): Foundation Models 기반 요약(SystemLanguageModel 사용 가능 환경에서), 증분 요약 + 최종 병합
• 기반 프레임워크: Foundation(네트워킹 등), OSLog(로깅)
• 패키징: Swift Package Manager






## 📲 Download
| 플랫폼 | 링크 |
|--------|------|
| iOS / iPadOS | [](https://apps.apple.com/kr/app/aino-%EC%95%84%EC%9D%B4%EB%85%B8-ai-%ED%95%99%EC%8A%B5%EB%85%B8%ED%8A%B8/id6754547683) |
## 👥 Team
| Member | GitHub |
|---|---|
| Skyler | [](https://github.com/yulimmmm) |
| Coulson | [](https://github.com/kimminung) |
| Romak | [](https://github.com/Zunhokim) |
| Emma | [](https://github.com/hbeen0129) |
| Eifer | [](https://github.com/seungjaeyuu) |
| Moomin | [](https://github.com/namoomin) |