inPace
All coursesكل الدورات

inPace from the inside: how the app works

  • about 8 h of lessonsحوالي 8 ساعة من الدروس
  • 7 modulesوحدات · 21 lessonsدروس
  • Englishالإنجليزية

A one-week tour of inPace's code and system design: the local server, the data and its signatures, courses, the web layer, the learner-checker trust model, Tempo's island, notifications, builds and releases. Ends with how to present it in a job interview. Plan: 7 days, about 1.5 hours a day.

byمن إعداد inPace checkedموثّق

inpacesystem designpythonarchitectureinterview

On these roadmaps:ضمن هذه المسارات: Build inPace yourself

What's insideمحتوى الدورة

Each module ends with tasks. The next module opens when they're done.تنتهي كل وحدة بمهام، وتُفتح الوحدة التالية عند إنجازها.

  1. Day 1: The big picture 3 lessonsدروس · 60 min د
    • What inPace is, and the rules it's built on15 min د
    • The stack and the code map20 min د
    • One click, end to end25 min د
    Practical taskمهمة عمليةExplain in your wordsاشرح بكلماتكQuizاختبار · 4 questionsأسئلة
  2. Day 2: Data, keys and fingerprints 3 lessonsدروس · 65 min د
    • vault.db: the tables and the append-only rule20 min د
    • Keys, canonical JSON and fingerprints20 min د
    • Milestones as a hash chain, and encrypted backups25 min د
    Practical taskمهمة عمليةExplain in your wordsاشرح بكلماتكQuizاختبار · 4 questionsأسئلة
  3. Day 3: Courses and lessons 3 lessonsدروس · 65 min د
    • The course format20 min د
    • How a lesson is drawn25 min د
    • Making and sharing courses20 min د
    Practical taskمهمة عمليةExplain in your wordsاشرح بكلماتكQuizاختبار · 4 questionsأسئلة
  4. Day 4: The web layer 3 lessonsدروس · 65 min د
    • Starlette, routes and page()20 min د
    • Navigation done right25 min د
    • Two languages, and right to left20 min د
    Practical taskمهمة عمليةExplain in your wordsاشرح بكلماتكQuizاختبار · 4 questionsأسئلة
  5. Day 5: Trust between learner and checker 3 lessonsدروس · 65 min د
    • Files and links25 min د
    • Verified exams20 min د
    • Pace: goals, pauses, review and races20 min د
    Practical taskمهمة عمليةExplain in your wordsاشرح بكلماتكQuizاختبار · 4 questionsأسئلة
  6. Day 6: Tempo's island and notifications 3 lessonsدروس · 65 min د
    • The island's data and rules25 min د
    • Drawing in Python, and a sky that follows the clock15 min د
    • Reminders on every platform25 min د
    Practical taskمهمة عمليةExplain in your wordsاشرح بكلماتكQuizاختبار · 4 questionsأسئلة
  7. Day 7: Shipping, and explaining it in an interview 3 lessonsدروس · 70 min د
    • One app, every platform20 min د
    • Tests, CI, releases and safe updates20 min د
    • Explaining inPace in an interview30 min د
    Practical taskمهمة عمليةExplain in your wordsاشرح بكلماتكQuizاختبار · 4 questionsأسئلة

Read a lesson firstاقرأ درسًا أولًا

What inPace is, and the rules it's built on

Your plan for this week

Day Module Time
1 The big picture about 1.5 h
2 Data, keys and fingerprints about 1.5 h
3 Courses and lessons about 1.5 h
4 The web layer about 1.5 h
5 Trust between learner and checker about 1.5 h
6 Tempo's island and notifications about 1.5 h
7 Shipping, and explaining it in an interview about 2 h

Keep the code open next to this course: github.com/mahmoudyosrimahmoud13/inPace. Every lesson names the files to read. Reading the real code is the point: by Sunday you should be able to draw the system on a whiteboard and walk through any feature end to end.

The product in one paragraph

inPace is a learning app that runs only on your own device. You follow courses, and when you finish a part you save a milestone. You can send your milestones to someone you trust (a checker), who can see that the work is really yours and really in order, and approve it. There are no accounts and no servers: people exchange small signed files or links over WhatsApp, Telegram or email.

The rules every design decision follows

  1. Local first. All data lives in one folder on the device (vault.db plus course files). The app works offline.
  2. No accounts, still trustworthy. Trust comes from cryptography, not from a company's database: every person has a signing key, and every milestone is signed and chained.
  3. One codebase everywhere. The same Python app runs on Windows, Mac, Linux and Android.
  4. Plain words. The interface avoids jargon. You'll see this in the code too: names like go(), page(), say().
  5. Nothing silent goes online. The app reaches the internet only when you ask (the course library, an update check you allowed, a YouTube video you pressed play on).

Why these rules matter in an interview

When someone asks "why didn't you just build a web app with a backend?", the honest answer is a trade-off: a backend gives easy sync and analytics, but costs money to run, holds people's data, and makes trust depend on the company. inPace chose the opposite corner: zero running cost, full privacy, and trust that anyone can verify. The price is harder sync (you move data with an encrypted backup) and no central dashboard.

Licenseالرخصة: CC-BY-4.0 · Updatedآخر تحديث 2026-11-13

Add to inPaceأضف إلى inPace