Mobile App Reference: apps/mobile (B2B companion app)¶
There are two Expo apps. This page is about the B2B one.
This page documents apps/mobile, the B2B companion app (package com.vidyanet.app, React Navigation): faculty, K-12, attendance, face enrollment, online classes.
For the B2C consumer app (apps/mobile-b2c, package ai.kwilo.b2c, expo-router) see Mobile B2C App Reference and the B2C mobile app feature doc.
The two apps share the backend and nothing else. Commands, package ids, and build config below apply to apps/mobile only.
Operational reference for version numbers, commands, screen inventory, and environment details.
Package Identifiers & Versions¶
| Item | Value |
|---|---|
| Package | com.vidyanet.app |
| Framework | React Native 0.81.5 + Expo SDK 54 |
| React | 19.1.0 |
| Navigation | React Navigation v7 |
| Styling | NativeWind 4.2 |
| State | Zustand 5.0 + TanStack Query 5.90 |
| Screens | 39 |
| Services | 20 API modules |
| Components | 30 |
| API URL | https://api-staging.kwilo.ai/api/v1 |
Development Commands¶
# Start dev server
npm start
npx expo start --clear # with cache cleared
# Android emulator
emulator -avd Medium_Phone_API_36.1 &
adb devices
# Build & install debug APK
cd apps/mobile/android && ./gradlew assembleDebug
adb install -r app/build/outputs/apk/debug/app-debug.apk
adb shell am start -n com.vidyanet.app/.MainActivity
# One-liner rebuild
cd apps/mobile/android && ./gradlew assembleDebug && adb install -r app/build/outputs/apk/debug/app-debug.apk && adb shell am start -n com.vidyanet.app/.MainActivity
# TypeScript check
npx tsc --noEmit
EAS Build Profiles¶
eas build --platform android --profile development # Dev APK
eas build --platform android --profile preview # Internal testing APK
eas build --platform android --profile production # Play Store AAB
Troubleshooting¶
npx expo start --clear # Metro cache issues
adb kill-server && adb start-server # ADB issues
adb uninstall com.vidyanet.app # Install conflicts
cd android && ./gradlew clean # Gradle issues
adb logcat -s ReactNative:V # Crash logs
Screen Inventory¶
apps/mobile/src/screens/
├── auth/ # Login, Register, ForgotPassword
├── dashboard/ # Dashboard, Leaderboard, Achievements
├── courses/ # CourseList, Detail, Lesson
├── lessons/ # StandaloneLessonsList, LessonFeed
├── presentations/ # PresentationsList, Viewer
├── assignments/ # AssignmentList, Detail, Create, SubmissionsReview
├── ai-tutor/ # ConversationList, AIChat, DeepResearch, Sessions
├── messages/ # MessagesList, Chat
└── more/ # Settings, Calendar, Attendance, CollegeAttendance,
# FaceEnrollment, FaceEnrollmentManagement, FaceScan,
# GroupScan, OnlineClass, Profile, SchoolAnalytics
Navigation Tree¶
RootNavigator
├── Auth: Login, Register, ForgotPassword
└── Main (BottomTabs)
├── Home: Dashboard, Leaderboard, Achievements, Notifications
├── Courses: CourseList, Detail, Lesson, Assignments, Presentations...
├── AITutor: ConversationList, AIChat, DeepResearch
├── Messages: ConversationsList, Chat
└── More: Settings, Calendar, Attendance, FaceEnrollment, OnlineClass,
SchoolAnalytics, Profile...
Courses and AITutor tabs are hidden for parents.
Component Inventory¶
apps/mobile/src/components/
├── ui/ # Button, Card, Input, Avatar, Badge, Loading, Progress
├── ai-tutor/ # CodeOutput, ToolCall, SearchResults, RAGSources, GeneratedImage
├── college/ # CollegeProgramBanner, SubjectAttendanceCard
├── attendance/ # AttendanceTargetSelector, TargetingSelector
├── quiz/ # MCQQuestion, FillBlank, TrueFalse, ShortAnswer, MatchInput
└── misc/ # MockTestCard, MockTestResults, NotionEditor, FeatureGate,
# CountdownTimer, FileUploadInput, QuestionRenderer
Key Features¶
- AI Tutor: SSE streaming via react-native-sse, multi-tool support
- Face Recognition: On-device ONNX Runtime (MobileFaceNet, 512-dim embeddings)
- Face Enrollment Management: Manage enrolled faces, group scanning
- Deep Research: Downloadable reports, lesson publishing
- Online Classes: 100ms HMS via WebView
- College Support: Subject-based attendance, program/branch/semester navigation
- Mock Tests: Practice test cards and results display
- School Analytics: Admin analytics dashboard
- Gamification: Achievements, leaderboard, XP system