ስለ አበባል

ጥበብን መጠበቅ።
ባህልን ማጋራት።

አበባል ለአማርኛ ምሳሌዎች እና ለሚሸከሙት ጥበብ ዲጂታል ቤት ነው። ምሳሌዎችን እና ትርጓሜዎቻቸውን እንሰበስባለን፣ እናረጋግጣለን፣ እናደራጃለን — ከዚያም ለሁሉም ክፍት እና ተደራሽ እናደርጋቸዋለን።

ታሪካችን

Abbabal started as a simple idea: What if thousands of Amharic proverbs, scattered across everywhere could live in one open place — for everyone to read, learn, and build with?

We gathered the proverbs, verified them carefully, and paired each one with clear interpretations. Then we built the tools — a website, an API, and a mobile app — to make this wisdom easy to access and use.

ዛሬ፣ አበባል ለትምህርት፣ ለምርምር እና ለፈጠራ ክፍት መድረክ ነው።

Built by

ተመስገን አዳነ

ተመስገን አዳነ

ገንቢ እና መስራች

መሠረቱ ኢትዮጵያ። ስለ ክፍት ውሂብ፣ ባህል እና ሰዎችን የሚያበረታቱ መሳሪያዎች ፍቅር ያለው።

ጥበባችንን መጠበቅ የተሻለ የወደፊት ሕይወት ለመገንባት ከሚረዱ ምርጥ መንገዶች አንዱ እንደሆነ አምናለሁ።

Personal site

የመረጃ ምንጭ

የአማርኛ አባባሎች የቴሌግራም ቻናል አርማ

አማርኛ አባባሎች

9,000+ ተመዝጋቢዎች

ጣፋጭ እና አስተማሪ የአማርኛ አባባሎችን በቀን ሰብስቦ ያቀርባል።

t.me/ababaloch

አባባል የተሰራው በአማርኛ አባባሎች የቴሌግራም ቻናል በተሰበሰቡ እና ከተጋሩ አባባሎች በመነሳት ነው። ባህላዊ ጥበባችንን ለመጠበቅ እና ለማካፈል ላደረጉት ጥረት ከልብ እናመሰግናለን።

The Full Story

How Abbabal was actually built

Every milestone, dead end, and facepalm — posted as it happened on my Telegram channel. From scraping the first 7,000 proverbs to shipping the mobile app, in my own words.

Follow @codenshii
  1. 11 ማርች 2026
  2. code and whatnot

    @codenshii

    For some reasons the telegram website is not allowing me to get api id and hash and I think this actually happens a lot. You wouldn't expect telegram to do such a thing.

    Finally managed to get my api id and hash from Telegram.

    I can now fetch data from channels using Telethon.

    Terminal running the scraper and fetching recent messages from the Ababaloch channel
  3. code and whatnot

    @codenshii

    Finally managed to get my api id and hash from Telegram. I can now fetch data from channels using Telethon.

    I managed to extract more than 7,000 messages starting from 2017.

    The channel I am extracting from is ababaloch.

    My intention is to build an api that will provide amharic proverbs.

    I think I will learn a lot by doing that.

    The proverbs.db database with 7,186 scraped messages
  4. code and whatnot

    @codenshii

    I managed to extract more than 7,000 messages starting from 2017.

    I have already set up a github actions cron job to fetch the proverbs 3 times per day and update my database.

    I triggered the workflow manually and it run without any errors.

    Currently, I am using SQLite for the db, and there was no db update since there was no new post on the channel.

    I will check the db again after something is posted on the channel.

    GitHub Actions run of fetch_proverbs.yml finishing successfully
  5. 12 ማርች 2026
  6. code and whatnot

    @codenshii

    I will check the db again after something is posted on the channel.

    The cron job run successfully and I got updates on the db.

  7. 14 ማርች 2026
  8. code and whatnot

    @codenshii

    The cron job run successfully and I got updates on the db.

    In addition to the text, I am now saving the plain English translation, and the meaning of the proverb in both Amharic and English.

    I am using Gemini to handle the translation and to extract the meaning.

    A proverb row with its English translation and its meaning in Amharic and English
  9. code and whatnot

    @codenshii

    In addition to the text, I am now saving the plain English translation, and the meaning of the proverb in both Amharic and English.

    I am also saving a confidence score and an indicator if a review is needed

    The confidence score, review flag, and Gemini model recorded for a translation
  10. code and whatnot

    @codenshii

    I have already set up a github actions cron job to fetch the proverbs 3 times per day and update my database.

    I also set up another cron job to handle the Gemini translations.

    I am making it run 10 times per day.

    I have migrated 2,900 proverbs out of the 7,189 proverbs currently in the db and we are adding 3 per day.

    I will still have to analyze how many of those translations need a review or have low confidence score.

    GitHub Actions run of process_proverbs.yml translating proverbs with AI
  11. 16 ማርች 2026
  12. code and whatnot

    @codenshii

    I also set up another cron job to handle the Gemini translations.

    One of the cron jobs managed to run for 37 minutes and processed 1,000 proverbs in a go🤯

    On average the cron jobs run for 2 minutes and they parse 50-150 proverbs.

    The AI cron job that ran for 37 minutes, circled in red
  13. 25 ማርች 2026
  14. code and whatnot

    @codenshii

    One of the cron jobs managed to run for 37 minutes and processed 1,000 proverbs in a go🤯

    Its been a while since our AI cron job managed to parse all the existing proverbs (that's 7,000+).

    I am currently building the backend using NestJS and I have so far figured out auth (jwt + passport, API key), rate limiter (Nest throttling), and a couple of endpoints to provide the proverbs.

    Both our scrapper and our parser are still running and they still fetch proverbs and add translation and meanings to our db.

    The NestJS API docs listing the proverbs, API key, and auth endpoints
  15. 27 ማርች 2026
  16. code and whatnot

    @codenshii

    Its been a while since our AI cron job managed to parse all the existing proverbs (that's 7,000+).

    Currently working on the frontend.

    I haven't wired up everything with the backend.

    I really don't know why I am dedicating my time and effort on this thing.

    I am learning things but still...🤦‍♂

    The first frontend dashboard, showing API credentials and recent proverb responses
  17. code and whatnot

    @codenshii

    Currently working on the frontend.

    I think everything will be easier once I set up a design system and add a bit more logic to the backend.

  18. 11 ኤፕሪ 2026
  19. code and whatnot

    @codenshii

    ከ አማርኛ አባባሎች ተላልፏል

    ውል ያዋውላል ታንኳ ያሻግራል አቧራ ያስላል

  20. code and whatnot

    @codenshii

    ውል ያዋውላል ታንኳ ያሻግራል አቧራ ያስላል

    This is the translation I got in my db

    Screenshot of the translated proverb stored in the database
  21. code and whatnot

    @codenshii

    I think everything will be easier once I set up a design system and add a bit more logic to the backend.

    I think I will have to abandon this project for sometime

  22. 14 ኤፕሪ 2026
  23. 16 ሜይ 2026
  24. 19 ሜይ 2026
  25. code and whatnot

    @codenshii

    I think I will have to abandon this project for sometime

    Got back on it.

    Made api keys optional.

    And the mobile app is running.

    The Android app listing Amharic proverbs with translations and meanings
  26. code and whatnot

    @codenshii

    Got back on it. Made api keys optional. And the mobile app is running.

    using capacitor with sveltekit for the mobile app.

    Let's see if we can make some widgets.

  27. code and whatnot

    @codenshii

    Let's see if we can make some widgets.

    I got a widget.

    All it took was writing a couple of xml files and a java file to fetch, cache, and display the proverbs.

    The Android home screen widget showing a proverb
  28. 3 ጁን 2026
  29. code and whatnot

    @codenshii

    I got a widget. All it took was writing a couple of xml files and a java file to fetch, cache, and display the proverbs.

    I have never been this much hesitant to make a landing page.

    The project is almost done.

  30. 21 ኦገስ 2026
  31. 6 ሴፕቴ 2026