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

Published: (December 5, 2025 at 05:47 PM EST)
3 min read
Source: Dev.to

Source: Dev.to

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

💡 The Inspiration

As a software engineering student, exam weeks are chaotic. I have a calendar full of dates, but a simple date doesn’t tell me how much I should panic. Is Linear Algebra in 3 days more urgent than History in 2 days? Usually, yes.

I realized I didn’t need another To‑Do list; I needed a Coach—something that tells me, “Hey, stop relaxing, this exam is hard and it’s tomorrow!” or “You’re doing fine, take a break.”

That’s why I built SmartStudy using .NET and Uno Platform.

🚀 What is SmartStudy?

SmartStudy is a cross‑platform app that runs natively on Windows, Web, and Mobile. It helps students track their exams and adds a layer of Logic‑Based AI on top.

Core Features

  • Dynamic Urgency System – The interface changes color (Red/Yellow/Green) not just based on dates, but also on difficulty. A Hard exam triggers a Red alarm much earlier than an Easy one.
  • AI Coach – A smart algorithm analyzes the schedule and gives context‑aware advice like “Urgent! Focus on notes” or “Weekly workload is high, pace yourself.”
  • Clean UI – Custom Dark Mode interface designed for developers who love Dark Mode.

🎥 Demo

The app in action on Windows Desktop:

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

🔧 How I Built It

  • Framework: .NET 8
  • Platform: Uno Platform (WinUI 3 XAML)
  • Architecture: MVVM (Model‑View‑ViewModel)
  • IDE: Visual Studio 2022

🧠 The “AI” Logic

Instead of calling an external API, I implemented a robust decision tree in the ViewModel so the app feels “smart” and responsive instantly, without needing an internet connection.

// 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!";

This logic makes the app feel alive. It doesn’t just display data; it interprets it for the user.

🏆 Challenges I Faced

  • UI Polish – Getting the UI to look professional was harder than the backend logic.
  • The “Squaring” Issue – A standard ListView added a default gray rectangle on hover over rounded cards. Swapping it for an ItemsControl inside a ScrollViewer gave full control over rendering.
  • Cross‑Platform Dates – My PC is set to Turkish, but I wanted global date formatting. I forced CultureInfo settings at startup so dates always appear as “Dec 06” instead of “Ara 06”, regardless of the system language.

🔮 What’s Next?

I plan to connect the app to a real LLM (e.g., OpenAI) to scan PDF syllabi and automatically suggest topics to study for each exam day.

🔗 Code & Resources

Full source code is available on GitHub. Feel free to star the repository!

https://github.com/emirsphere/SmartStudyV2

Back to Blog

Related posts

Read more »

Fitness Copilot - 🎃 Kiroween 2025

Inspiration What if you could snap a photo of your meal or workout and get instant, context‑aware feedback? Not just “that’s 500 calories” but “you’ve got 600...

saas IA news

!Cover image for saas IA newshttps://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazon...