Haitham AssoliRead this page in Arabicاقرأ هذه الصفحة بالإنجليزية

MobileSince 2022

EECommittee

Every resource an electrical engineering student needs, in one place.

  • Shipped
  • Featured
EECommittee — cover screenshot

Project factsبيانات المشروع

In short

Pick any subject from the study plan tree and get everything attached to it: material, recordings, staff contacts. Includes a GPA calculator, bilingual Arabic/English search, and a night mode. Volunteer work that has outlived several intakes of students.

The compartments

Role
Volunteer: mobile and backend
Year
Since 2022
Status
Shipped

Built with

  • React Native
  • Expo
  • TypeScript
  • Firebase
  • Zustand
  • React Query
  • Reanimated
  • Zod
  • Caching

What it isما هو

The committee had been answering the same questions in the same Facebook group for years: which prerequisites does this subject have, who teaches it, where are the notes, what will my GPA be if this goes badly.

The app turns that into structure. The study plan is a navigable tree, so a subject is a destination with everything hanging off it. Staff details are searchable. The GPA box projects both semester and cumulative results before the semester ends.

It is the longest-running thing I maintain, and the constraint that shapes it is that I am not paid for it. Anything that needs constant attention does not survive.

ظلّت اللجنة تجيب عن الأسئلة نفسها في مجموعة فيسبوك نفسها سنوات: ما متطلبات هذه المادة، ومن يدرّسها، وأين الملخصات، وكم سيصير معدّلي إن ساءت الأمور.

يحوّل التطبيق ذلك إلى بنية. الخطة الدراسية شجرة قابلة للتنقّل، فتصير المادة وجهةً يتدلّى منها كل شيء. وبيانات الهيئة التدريسية قابلة للبحث. وتتوقّع حاسبة المعدّل نتيجة الفصل والتراكمي قبل انتهاء الفصل.

هو أطول ما أتولى صيانته عمرًا، والقيد الذي يشكّله أنني لا أتقاضى عليه أجرًا، فأي شيء يحتاج انتباهًا دائمًا لا ينجو.

Results

  • Published on Google Play and maintained across multiple student intakes.
  • About eleven services behind one search box.
  • Content editable by the committee without a release.
  • منشور على Google Play ومُصان عبر دفعات طلابية متعددة.
  • نحو أحد عشر خدمة خلف صندوق بحث واحد.
  • محتوى قابل للتعديل من اللجنة دون إصدار جديد.

Challenges

Each one opens twice: what went wrong on the left, what I did on the right.

01

Searching in two languages at once

Problem

Students refer to the same subject as 'Signals', 'إشارات', or a course code, often switching mid-sentence. Indexing one language means half the searches fail silently.

What I did

Every subject carries both names and its code in one searchable field, normalised on both sides. A query in either language, or a code, reaches the same subject.

02

A campus network you cannot rely on

Problem

Students open the app between lectures, in corridors and basements where the connection is unreliable. Every screen hitting the network makes the app feel broken in exactly the place it is used.

What I did

The plan tree and staff directory are cached aggressively and treated as slow-changing data, so the app opens instantly from cache and revalidates in the background rather than blocking on a request.

03

Content that must outlive its maintainer

Problem

Study plans change, staff move, and I am one volunteer. An app that needs a code release every time a course is renamed dies the moment I get busy.

What I did

All of it is content in Firebase, editable by committee members without touching the app. My job is the client; keeping the data current is theirs, which is the only arrangement that lasts.

Look at itانظر إليه

EECommittee — screenshot 1
EECommittee — screenshot 2
EECommittee — screenshot 3
EECommittee — screenshot 4
EECommittee — screenshot 5

Keep goingتابع

Shelf

All projectsAll 40, in six compartments.