SmartStudy: 학생들을 위한 크로스 플랫폼 규칙 기반 AI 코치 (Uno Platform으로 구축)

발행: (2025년 12월 6일 오전 07:47 GMT+9)
5 min read
원문: Dev.to

Source: Dev.to

Cover image for SmartStudy: The Cross-Platform Rule-Based AI Coach for Students (Built with Uno Platform)

💡 영감

소프트웨어 공학 전공 학생으로서 시험 주간은 혼란스럽습니다. 캘린더에 날짜가 가득 차 있지만, 단순히 날짜만으로는 얼마나 긴장해야 할지 알 수 없습니다. 선형대수가 3일 남았고 역사가 2일 남았다면 어느 쪽이 더 급한가요? 보통은 그렇습니다.

저는 또 다른 할 일 목록이 아니라 코치가 필요하다는 것을 깨달았습니다—“이봐, 이제 쉬지 말고 이 시험은 어렵고 내일이야!” 혹은 “잘하고 있어, 잠깐 쉬어도 돼.”라고 알려주는 코치 말이죠.

그래서 저는 .NET과 Uno Platform을 사용해 SmartStudy를 만들었습니다.

🚀 SmartStudy란?

SmartStudy는 Windows, Web, Mobile에서 네이티브로 실행되는 크로스‑플랫폼 앱입니다. 학생들이 시험을 추적하도록 도와주며, 그 위에 논리 기반 AI 레이어를 추가합니다.

핵심 기능

  • 동적 긴급도 시스템 – 인터페이스가 날짜뿐 아니라 난이도에 따라 색상(Red/Yellow/Green)으로 변합니다. Hard 시험은 Easy 시험보다 훨씬 일찍 빨간색 경보를 울립니다.
  • AI 코치 – 스마트 알고리즘이 일정을 분석하고 “긴급! 노트에 집중하세요” 혹은 “주간 업무량이 많으니 속도를 조절하세요”와 같은 상황에 맞는 조언을 제공합니다.
  • 깔끔한 UI – 다크 모드를 사랑하는 개발자를 위해 설계된 커스텀 다크 모드 인터페이스.

🎥 데모

Windows Desktop에서 동작하는 앱:

https://www.youtube.com/watch?v=yyi6MFiQLmM

🔧 제작 과정

  • 프레임워크: .NET 8
  • 플랫폼: Uno Platform (WinUI 3 XAML)
  • 아키텍처: MVVM (Model‑View‑ViewModel)
  • IDE: Visual Studio 2022

🧠 “AI” 로직

외부 API를 호출하는 대신, ViewModel에 견고한 의사결정 트리를 구현했습니다. 그래서 앱이 즉시 “스마트”하게 반응하고 인터넷 연결이 필요 없습니다.

// Inside MainViewModel.cs

// 1. Analyze Urgency
if (daysLeft  /* logic to count exams in 7 days */);
if (weeklyCount > 2)
    AiAdvice = $"{urgencyMessage} Also, be careful: You have {weeklyCount} exams this week. Pace yourself!";

이 로직 덕분에 앱이 살아있는 느낌을 줍니다. 단순히 데이터를 표시하는 것이 아니라 사용자를 위해 해석해 줍니다.

🏆 직면한 도전 과제

  • UI 다듬기 – UI를 전문적으로 보이게 만드는 것이 백엔드 로직보다 더 어려웠습니다.
  • “Squaring” 문제 – 기본 ListView는 둥근 카드 위에 마우스를 올리면 회색 사각형이 나타났습니다. 이를 ScrollViewer 안의 ItemsControl로 교체하면 렌더링을 완전히 제어할 수 있었습니다.
  • 크로스‑플랫폼 날짜 – 제 PC는 터키어 설정이지만 전 세계적인 날짜 형식을 원했습니다. 시작 시 CultureInfo 설정을 강제해 시스템 언어와 관계없이 날짜가 “Dec 06”처럼 표시되도록 했습니다.

🔮 앞으로의 계획

앱을 실제 LLM(예: OpenAI)과 연결해 PDF 강의 계획서를 스캔하고 각 시험일에 공부할 주제를 자동으로 제안하도록 할 예정입니다.

🔗 코드 및 리소스

전체 소스 코드는 GitHub에서 확인할 수 있습니다. 저장소에 별표를 남겨 주세요!

https://github.com/emirsphere/SmartStudyV2

Back to Blog

관련 글

더 보기 »

SaaS IA 뉴스

SaaS IA 뉴스용 커버 이미지 https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazon...

혼돈에서 코드로: ALPHALABS

밤새도록 나를 괴롭힌 문제 나는 누구나 AI 트레이딩 에이전트를 만들고, 전략을 백테스트하며, 성과를 입증할 수 있는 플랫폼을 구축하고 싶었다.

WordPress + Kiro

개요: WordPress와 Kiro AI IDE를 통합하면 콘텐츠 관리와 에이전트 개발이 만나는 효율적인 워크플로우가 열립니다. WordPress의…