Skip to content

FiscalMindset/algsoch

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

58 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Algsoch Banner

🧠 Algsoch — AI Study Companion

Learn Smarter, Not Harder — 100% Offline

Powered by RunAnywhere SDK — On-Device AI Inference

Version Android Size License AI Models


📑 Quick Navigation

📖 About ✨ Features 🎯 Modes ⚙️ Tech Stack 🚀 Quick Start 🏗️ Architecture ❓ FAQ 📬 Contact

📖 About Algsoch

Algsoch is an advanced AI-powered study companion built with RunAnywhere SDK that adapts to your learning style. With 7 different learning modes and cutting-edge AI models (SmolLM2-360M, SmolVLM-256M) running 100% on your device, Algsoch provides personalized help for any subject.

Everything works completely offline. No internet. No data uploads. No tracking.

🔓
Works Offline
No internet required

Lightning Fast
Sub-second latency
🔒
100% Private
Zero data uploads
📦
Lightweight
~45 MB installed
Algsoch Demo

✨ Features

Current (v1.0.0)

✅ 7 Learning Modes ✅ On-device AI inference
✅ Text-based learning ✅ Full chat history
✅ Local data storage ✅ Multi-language support

What You Can Do

📖 Study Any Subject Mathematics, Science, Languages, Programming, History, Economics, and more
📸 Upload Images Capture diagrams, equations, handwritten notes, charts
💾 Save Progress Full chat history stored locally, private and encrypted
🎓 Learn Your Way Adaptive responses across 7 learning modes

Roadmap

Feature Status
Vision/Image analysis 🔜 Planned
Handwriting recognition 🔜 Planned
Voice input/output 🔜 Planned
Study plan generation 🔜 Planned
Progress tracking dashboard 🔜 Planned
Multiple language support 🔜 Planned

🎯 7 Learning Modes

Algsoch adapts to your unique learning style with 7 powerful modes:

Mode Description
Direct 💬 Get straight, concise answers instantly
Answer Focused, well-structured responses
Explain 📖 Deep dive with step-by-step breakdowns
Notes 📝 Formatted bullet-point study notes
Direction 🧭 Problem-solving approach guidance
Creative 💡 Analogies and real-world examples
Theory 🔬 Advanced conceptual deep-dives
mindmap
  root((Algsoch Modes))
    Direct
      Concise answers
    Answer
      Structured responses
    Explain
      Step-by-step
    Notes
      Bullet summaries
    Direction
      Problem guidance
    Creative
      Real-world analogies
    Theory
      Deep concepts
Loading

⚙️ Tech Stack
graph LR
    A[User] --> B[Jetpack Compose UI]
    B --> C[ViewModel / Services]
    C --> D[RunAnywhere SDK]
    D --> E[SmolLM2-360M]
    D --> F[SmolVLM-256M]
    D --> G[Whisper]
    E --> H[llama.cpp]
    F --> I[ONNX Runtime]
    G --> I

    style A fill:#667eea,color:#fff
    style B fill:#764ba2,color:#fff
    style C fill:#4a90d9,color:#fff
    style D fill:#e84393,color:#fff
    style E fill:#00b894,color:#fff
    style F fill:#00cec9,color:#fff
    style G fill:#fd79a8,color:#fff
Loading

AI Models

Component Model Size Engine
LLM SmolLM2-360M-Instruct ~300 MB llama.cpp
Vision SmolVLM-256M-Instruct ~200 MB ONNX Runtime
Speech Whisper ~150 MB ONNX Runtime

Platform

Framework Android / Kotlin
UI Framework Jetpack Compose + Material 3
Data Storage Local JSON Database
Processing 100% On-Device
Privacy Zero Cloud Access

Requirements

Requirement Minimum Recommended
OS Android 10 (API 29) Android 14+
Storage 200 MB free 1 GB+
RAM 1.5 GB 3 GB+
Network Not required Only for model download

🚀 Quick Start

Download

Download APK

Installation

flowchart LR
    A[Download APK] --> B[Allow Unknown Sources]
    B --> C[Install APK]
    C --> D[Launch App]
    D --> E[Load AI Models]
    E --> F[Start Learning!]
    
    style A fill:#667eea,color:#fff
    style B fill:#e17055,color:#fff
    style C fill:#00b894,color:#fff
    style D fill:#0984e3,color:#fff
    style E fill:#fdcb6e,color:#222
    style F fill:#6c5ce7,color:#fff
Loading

Step-by-Step

Step Action Details
1 Download APK Get the latest release from GitHub
2 Allow Unknown Sources Settings → Apps → Install unknown apps → Enable
3 Install Open APK file → Tap "Install" (< 1 min)
4 Load AI Models ⚠️ Critical — Tap "Load" on first launch (~250 MB)
5 Start Learning Pick a mode and begin — fully offline!

⚠️ First Launch: You must download SmolLM2 model (~250 MB). Takes 2-3 minutes. Retries automatically up to 3 times if download fails.


🏗️ Architecture

System Architecture

flowchart TB
    subgraph UI ["📱 Presentation Layer"]
        HS[HomeScreen]
        CS[ChatScreen]
        MS[ModeSelectionScreen]
    end
    
    subgraph Logic ["🧠 Logic Layer"]
        VM[ViewModel]
        PB[PromptBuilder]
        RP[ResponseParser]
    end
    
    subgraph SDK ["⚡ RunAnywhere SDK"]
        MR[Model Registry]
        DM[Download Manager]
        IE[Inference Engine]
    end
    
    subgraph Backend ["🔧 Local Backends"]
        L1[llama.cpp<br/>SmolLM2]
        L2[ONNX Runtime<br/>SmolVLM / Whisper]
    end
    
    UI --> VM
    VM --> PB
    VM --> RP
    PB --> IE
    IE --> L1
    IE --> L2
    DM --> MR
    MR --> L1
    MR --> L2

    style UI fill:#667eea20,stroke:#667eea
    style Logic fill:#764ba220,stroke:#764ba2
    style SDK fill:#e8439320,stroke:#e84393
    style Backend fill:#00b89420,stroke:#00b894
Loading

Data Flow

sequenceDiagram
    participant User
    participant UI as Jetpack Compose
    participant VM as ViewModel
    participant SDK as RunAnywhere SDK
    participant Model as Local Model
    
    User->>UI: Ask question
    UI->>VM: Send message + mode
    VM->>VM: Build prompt (mode-specific)
    VM->>SDK: chat(prompt, modelId)
    SDK->>Model: Run inference locally
    Model-->>SDK: Raw response
    SDK-->>VM: Generated text
    VM->>VM: Parse response by mode
    VM-->>UI: Update UI state
    UI-->>User: Display answer
Loading

Project Structure

app/src/main/
├── java/com/algsoch/
│   ├── MainActivity.kt
│   ├── data/
│   │   ├── models/
│   │   │   ├── Message.kt
│   │   │   └── UserPreferences.kt
│   │   └── repository/
│   ├── domain/
│   │   ├── ai/
│   │   │   ├── PromptBuilder.kt    # 7 system prompts
│   │   │   └── ResponseParser.kt
│   │   └── models/
│   │       └── StructuredResponse.kt
│   ├── services/
│   │   ├── ModelService.kt          # ML model management
│   │   └── AIInferenceService.kt
│   └── ui/
│       ├── screens/
│       │   ├── HomeScreen.kt
│       │   ├── ChatScreen.kt
│       │   └── ModeSelectionScreen.kt
│       └── theme/
│           └── AlgsochTheme.kt
└── resources/
    └── drawable/

Model Download Flow

flowchart TD
    Start([First Launch]) --> Check{Models exist?}
    Check -->|Yes| Load[Load from device storage]
    Check -->|No| Download[Download from HuggingFace]
    Download --> Manage[RunAnywhere SDK manages:]
    Manage --> Resume[HTTP download with resume]
    Manage --> Progress[Progress callbacks]
    Manage --> Cache[Cache management]
    Manage --> Disk[Disk space verification]
    Resume --> Ready[Models ready]
    Load --> Ready
    Ready --> Infer[Instant AI responses!]
    
    style Start fill:#667eea,color:#fff
    style Check fill:#fdcb6e,color:#222
    style Load fill:#00b894,color:#fff
    style Download fill:#e17055,color:#fff
    style Ready fill:#6c5ce7,color:#fff
    style Infer fill:#00cec9,color:#fff
Loading

Key Technologies

Technology Purpose
Jetpack Compose Modern declarative UI
Material 3 Latest Material Design
Navigation Compose Screen navigation
Coroutines & Flow Async operations
ViewModel State management
RunAnywhere SDK On-device AI inference

🔌 RunAnywhere SDK Integration

Algsoch is built entirely on RunAnywhere SDK — a framework for deploying AI models on mobile devices with zero cloud dependency.

Gradle Dependencies

dependencies {
    implementation("ai.runanywhere:runanywhere-kotlin:0.16.0-test.39")
    implementation("ai.runanywhere:runanywhere-llamacpp:0.16.0-test.39")
    implementation("ai.runanywhere:runanywhere-onnx:0.16.0-test.39")
}

1. Initialize SDK

class MainActivity : ComponentActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        RunAnywhere.initialize(
            context = this,
            environment = SDKEnvironment.DEVELOPMENT
        )
        ModelService.registerDefaultModels()
    }
}

2. Register AI Models

object ModelService {
    fun registerDefaultModels() {
        RunAnywhere.registerModel(
            id = "smollm2-360m-instruct",
            name = "SmolLM2 360M Instruct",
            url = "https://huggingface.co/HuggingFaceTB/...",
            framework = InferenceFramework.LLAMA_CPP,
            memoryRequirement = 300_000_000
        )

        RunAnywhere.registerModel(
            id = "smolvlm-256m-instruct",
            name = "SmolVLM 256M Instruct",
            url = "https://huggingface.co/HuggingFaceTB/...",
            framework = InferenceFramework.ONNX,
            memoryRequirement = 200_000_000
        )
    }
}

3. Inference in Chat

class AlgsochViewModel : ViewModel() {
    private val runAnywhere = RunAnywhere.getInstance()

    fun sendMessage(userMessage: String, mode: LearningMode) {
        viewModelScope.launch {
            val systemPrompt = PromptBuilder.build(mode)
            val fullPrompt = "$systemPrompt\n\nUser: $userMessage"

            val response = runAnywhere.chat(
                prompt = fullPrompt,
                modelId = "smollm2-360m-instruct",
                temperature = 0.7f,
                maxTokens = 512
            )

            val parsedResponse = ResponseParser.parse(response, mode)
            _uiState.value = ChatUIState.ResponseReceived(parsedResponse)
        }
    }
}

4. Image Analysis with Vision Model

suspend fun analyzeImage(imagePath: String, query: String): String {
    val runAnywhere = RunAnywhere.getInstance()
    return runAnywhere.vision(
        modelId = "smolvlm-256m-instruct",
        imagePath = imagePath,
        prompt = query,
        temperature = 0.7f
    )
}

5. Model Downloads

class ModelDownloadManager(private val context: Context) {
    fun downloadModels(): Flow<DownloadProgress> = flow {
        emit(DownloadProgress("Downloading SmolLM2...", 0))
        RunAnywhere.downloadModel("smollm2-360m-instruct")
        emit(DownloadProgress("SmolLM2 downloaded", 50))

        emit(DownloadProgress("Downloading SmolVLM...", 50))
        RunAnywhere.downloadModel("smolvlm-256m-instruct")
        emit(DownloadProgress("All models ready!", 100))
    }
}

SDK Benefits

Benefit Description
Zero Server Dependency All AI processing runs locally
Sub-Second Latency Instant responses, no network
Complete Privacy Your data never leaves the device
Model Management Auto download, caching, optimization
Works Offline Perfect for any connectivity
Optimized Performance Quantized models for mobile

Learn more: RunAnywhere SDK


❓ FAQ
Do I need internet?

No! Algsoch runs completely offline. All AI processing happens directly on your device.

Are my conversations tracked?

Never. All conversations stay locally on your device. We don't collect, store, or upload any data.

Which subjects can I study?

Any subject! Math, Science, Languages, Programming, History, Economics, and more.

Is it really free?

Yes, 100% free. Open-source with no subscriptions, no ads, no hidden costs.

How do I switch learning modes?

Tap the Mode button in the chat interface to see all 7 learning styles.

Can I upload images?

Yes! Use the image button in chat to upload photos of diagrams, equations, notes, or charts.

How much storage do I need?

App: ~45 MB | Models: ~500 MB (SmolLM2 + SmolVLM) | Total recommended: 200 MB+ free


🤝 Contributing

We welcome contributions! See our Contributing Guide for details.

git checkout -b feature/your-feature
git commit -m "Add your feature"
git push origin feature/your-feature
# Then create a Pull Request

📄 License

Algsoch is completely free and open-source. See LICENSE for details.



👨‍💻 Created by Vicky Kumar

Vicky Kumar

Vicky Kumar

AI Engineer & Creator of Algsoch

Passionate about building intelligent, privacy-first learning tools that make education accessible to everyone.

⚡ Powered By RunAnywhere SDK

On-device AI inference framework that makes Algsoch's intelligence possible — 100% offline, zero cloud dependency.


Made with dedication — because education should be private, free, and accessible to everyone.

About

Algsoch is an advanced AI-powered study companion built with RunAnywhere SDK that adapts to your learning style. With 7 different learning modes and cutting-edge AI models (SmolLM2-360M, SmolVLM-256M) running 100% on your device, Algsoch provides personalized help for any subject.

Topics

Resources

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • Kotlin 100.0%