Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
InputLog アーキテクチャ解説
Search
dassimen
September 27, 2026
3
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
InputLog アーキテクチャ解説
https://github.com/GitHiroki/InputLog
のアーキテクチャ解説(AI作成)
dassimen
September 27, 2026
More Decks by dassimen
See All by dassimen
LLMとは(超概要)
dassimen001
0
170
RAGとは(超概要)
dassimen001
0
130
LangChain × Ollamaで学ぶLLM & RAG超入門
dassimen001
1
410
まるでChatGTP!?
dassimen001
0
72
LLMローカル動作方法(NvidiaGPU使用)
dassimen001
0
130
🎭Playwright 超入門
dassimen001
0
86
LLMローカル動作方法
dassimen001
1
98
ベクトル変換について
dassimen001
1
71
Featured
See All Featured
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.6k
Claude Code のすすめ
schroneko
67
230k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.6k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
2
450
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3k
Paper Plane
katiecoart
PRO
4
53k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
31k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
1
610
Visualization
eitanlees
153
17k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
69
66k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
Transcript
PERSONAL INPUT LOG InputLog SwiftUI · SwiftData · Swift Charts
· App Intents · iOS 18+ ARCHITECTURE GUIDE
01 — WHAT IT DOES RECORD REVIEW URL JSON 6
YouTube InputLog · 02 BACKUP Podcast 7
02 — BIG PICTURE 2 A 1 ReviewScreen LogEditorSheet DataStore.shared
SwiftData ModelContainer 1 App B LogInputIntent ReviewScreen InputLog · 03 @Query Intent
D2 Share Extension App Group App Intent Share Extension SwiftData
App Intent
03 — LAYERS App/ InputLogApp @main Views/ DataStore.shared ModelContainer SwiftUI
ReviewScreen · LogEditorSheet · BackupFooter View Intents/ App Intents LogInputIntent · InputLogShortcuts Logic/ WeekMath · WeeklySummary · TypeDetector · SharedInput · TitleFetcher · Backup Model/ SwiftData SchemaV1.InputLog @Model · MediaType · Genre InputLog · 05 Theme/ Debug/ #if DEBUG
04 — FILES App/ InputLogApp, DataStore Model/ Schema, InputLog, MediaType,
Genre Logic/ WeekMath, WeeklySummary, TypeDetector, SharedInput, TitleFetcher, Backup Views/ ReviewScreen, ReviewSections, LogEditorSheet, BackupFooter, Components Intents/ LogInputIntent, InputLogShortcuts Theme/ Theme Debug/ LaunchOptions, SampleData InputLog · 06 InputLog/InputLog/ enum 1 1 #if DEBUG Xcode
05 — DATA MODEL 1 InputLog enum id UUID typeRaw
genreRaw date Date type genre typeRaw String title String urlString String? genreRaw String? note String createdAt Date MediaType computed property rawValue unique URL CloudKit nil nil VersionedSchema SchemaV2 InputLog · 07 Model/Schema.swift · Model/InputLog.swift typealias
06 — FLOW: LAUNCH 01 02 03 04 05 InputLogApp
DataStore @Query WeeklySumma ry ReviewScreen ModelContainer 6 offset offset 0 InputLog · 08 1 … ‹ › summary Views/ReviewScreen.swift weekLogs computed property
07 — WEEK LOGIC WeekMath WeeklySummary total byType start 0:00
end 0:00 genres Calendar(identifier: .iso8601) View InputLog WeekMath · 09 weeks Logic/WeekMath.swift · Logic/WeeklySummary.swift 6
08 — FLOW: RECORD IN APP LogEditorSheet 1 2 URL
3a TypeDetector.detect 4 insert save() 3b TitleFetcher typeTouched 5 onSaved InputLog · 10 Views/LogEditorSheet.swift offset
09 — TYPE DETECTION URL 1 URL 2 youtube.com /
youtu.be YouTube 3 podcasts.apple.com · listen.style · overcast.fm · pca.st Podcast 4 open.spotify.com Podcast /episode 5 m.youtube.com NSDataDetector InputLog · 11 Logic/TypeDetector.swift YouTube URL
10 — TITLE FETCH YouTube oEmbed API TypeDetector youtube.com/oembed YouTube
oEmbed LPMetadataProvider Once InputLog · 12 LPMetadataProvider Logic/TitleFetcher.swift www. 5 5 Task.sleep
11 — FLOW: SHARE SHEET 01 02 03 04 05
SharedInput TitleFetcher DataStore Safari YouTube insert URL openAppWhenRun = false InputLog · 13 URL 120 Intents/LogInputIntent.swift · Logic/SharedInput.swift GenreAppEnum save
12 — BACKUP JSON Backup.Item fileImporter BackupFile Transferable JSON JSON
Backup.plan 1 sample: true ShareLink Web InputLog InputLog- .json v2 · 14 v2 id "s0" id id SHA256 Logic/Backup.swift · Views/BackupFooter.swift UUID 2
13 — DEV TOOLS DEBUG Swift Testing -inMemory YES -seedSample
YES WeekMathTests 5 -openAdd YES WeeklySummaryTests 6 TypeDetectorTests -pasteURL <url> URL URL SharedInputTests URL -weekOffset -1 TitleFetcherTests oEmbed -scrollBottom YES BackupTests v2 InputLog · 15 Debug/LaunchOptions.swift · InputLogTests/
14 — SUMMARY 3 01 02 1 App Group 1
App Intent ModelContainer DataStore 1 InputLog 03 · 16 VersionedSchema enum SwiftData @Query docs/architecture.md View unique JSON Web