عاقرأ بالعربية
→All projects

Solo: product, design and engineering · 2026

Aoun

A free academic platform for Jordanian university students.

aoun.assoli.site
Aoun: A free academic platform for Jordanian university students.

Aoun brings summaries, past exams, course material, GPA tools, bookmarks, and study planning into one place for Jordanian university students. It is free to browse without an account and works offline as an installed PWA.

Jordanian students find course material in WhatsApp groups, one-off Google Drive folders, and Telegram channels that disappear. Students must collect the same material again for each intake because those sources lack indexing and versioning.

Aoun keeps one catalogue, organised by university → faculty → course, so students can find summaries and past exams again. It also includes a GPA calculator for local grading rules, bookmarks, a study planner, and a focus timer.

I built Aoun with Next.js and Convex. Students can read without an account and sign in only to save or contribute.

Challenges

  1. One content model for many universities

    Every university names things differently: faculties, credit hours, course codes, even what a 'year' means. Modelling one university and generalising later would have meant a migration for every new one added.

    I modelled the hierarchy as generic nodes with per-university configuration held as data, not code. Grading scales, credit rules and naming all live in a config document. Adding a university became a content task instead of a schema change.

  2. Arabic search that tolerates how people actually type

    Students type 'احصاء' for 'إحصاء', drop diacritics entirely, mix Arabic and English in one query, and use colloquial course nicknames. Naive matching returned nothing for most real queries.

    I normalise both the index and the query: unify hamza forms, strip diacritics and tatweel, fold Arabic-Indic digits. I also store curated aliases per course so the nicknames resolve too.

  3. Offline for a student on campus Wi-Fi

    The place students most need the material, inside a lecture hall, is exactly where connectivity is worst. A normal SPA showed a spinner over an empty page.

    The app is an installable PWA that caches viewed courses and their files, so anything you opened once opens again offline. Writes queue and replay when the connection returns.

  4. Moderating an open upload pipe

    Letting anyone upload is what makes the archive grow, and also what fills it with duplicates, mislabelled files and the occasional thing that should not be there.

    Uploads land in a review queue rather than the catalogue. An admin view shows the file next to its metadata with approve/relabel/reject in one keystroke, and PostHog funnels tell me where contributors drop off.

Results

  • Past 7,500 visitors, tracked live on the home page.
  • Browsing needs no account; sign-in is only for saving and contributing.
  • Installable and usable offline for material already opened.
Next design — Slip-boxSee all 14