Admins work 100% inside the web dashboard. The silent background engine synchronizes with Google Sheets and Telegram, ensuring zero staff tampering and instant revenue logging.
Clean separation of powers between your daily university dispatchers, the automated synchronization layer, and your private founder financial vault.
Matches_Ledger with date, tutor, parent fee, and commission.
teme-admin.html, review parent inquiries (Bole, Kazanchis, CMC), filter vetted tutors, and click "Confirm Match & Dispatch". Never use notebooks or private scratchpads.
Matches_Ledger. Review your live 30% first-month commission and 200 ETB recurring monthly retainers without staff interference.
Heavy photo binaries never touch Firestore. Client PWAs compress photos on the user's phone, streaming high-res images to Telegram and micro-JSON text to Firestore.
Downsamples photos to 1200px before uploading. Prevents network timeouts in Ethiopia.
Holds ~1 KB JSON text only. Zero photo strings. Syncs in under 100ms within Spark quota.
Unlimited free media storage for Fayda IDs, Grade Reports, and Payment receipts.
Permanent audited revenue archive (Matches_Ledger). Holds only finalized paid pairings.
High-efficiency cloud architecture designed for Ethiopia. Heavy photos are completely isolated from the database, guaranteeing $0.00 infrastructure bills even with 400,000 users.
All dispatch notifications, document audits, and payment verifications flow into these verified channels.
Vetted university applicant profiles, student IDs, Fayda verification, and GPA records.
Inbound tutor requests from parents across Addis Ababa: subjects, child grade, and location.
Deposit screenshots, Telebirr/CBE receipts, and registration fees sent by families.
Official matchmaking dispatches, confirmed pairings, trial contracts, and commission terms.
All inbound leads, applicant credentials, payment screenshots, and confirmed match pairings are routed in real-time into 4 dedicated, invite-only Telegram channels.
The system uses a transparent compound model. If a tutor teaches 2 children in one household, Month 2+ commission is 400 ETB.
Teme Astegni's high-margin monetization engine: 30% upfront placement commission followed by a predictable 200 ETB / child recurring monthly retainer.
University student founder model balancing class timetables with high-velocity operations.
Part-time shifts (2–3 hrs/day) around lectures:
Full-day coverage across morning/afternoon shifts:
Campus branch leads across Ethiopian universities:
A high-velocity organizational hierarchy structured specifically for university students. Enables you to operate across Addis Ababa without expensive commercial office rents.
Strict verification protocols safeguarding Ethiopian households with cryptographic and academic audits.
Standard Operating Procedure (SOP) safeguarding Ethiopian families. Every tutor undergoes identity cross-checking and academic GPA verification prior to home dispatch.
teme-admin.html, only tutors with verified badges appear in the dispatch matcher. Unverified tutors cannot be dispatched.
Standard implementations for Telegram photo dispatch and edge canvas compression.
// 1. Client-Side 75% Image Compression (Edge Layer)
async function compressImage(file, maxDimension = 1200, quality = 0.75) {
const bitmap = await createImageBitmap(file);
const canvas = document.createElement('canvas');
let { width, height } = bitmap;
if (width > maxDimension || height > maxDimension) {
if (width > height) { height = Math.round((height * maxDimension) / width); width = maxDimension; }
else { width = Math.round((width * maxDimension) / height); height = maxDimension; }
}
canvas.width = width; canvas.height = height;
const ctx = canvas.getContext('2d');
ctx.drawImage(bitmap, 0, 0, width, height);
return new Promise(resolve => canvas.toBlob(resolve, 'image/jpeg', quality));
}
// 2. Direct Telegram Vault Dispatch
async function sendToTelegramVault(chatId, blob, caption) {
const formData = new FormData();
formData.append('chat_id', chatId);
formData.append('photo', blob, 'receipt.jpg');
formData.append('caption', caption);
formData.append('parse_mode', 'HTML');
return fetch(`https://api.telegram.org/bot${BOT_TOKEN}/sendPhoto`, {
method: 'POST', body: formData
});
}
Reference code snippets demonstrating how user devices compress images locally before streaming directly into the Telegram Cloud Vault without taxing database limits.
teme-astegni.html and teme-admin.html.
@ethio21_official_bot if Telegram connectivity ever needs a health check.