Upload files to "/"

هذا الالتزام موجود في:
2026-06-11 15:10:48 +00:00
التزام 9b8b270d39
2 ملفات معدلة مع 597 إضافات و0 حذوفات

298
README.md Normal file
عرض الملف

@@ -0,0 +1,298 @@
# The Arab Technician's Journey (رحلة التقني العربي)
🌐 Language: **English** | [العربية](README.ar.md)
---
## Submission Information
Submission for the Arabic Tech Quest Contest.
This repository documents my progress, findings, code, observations, and deliverables across all stations of the challenge.
---
## Table of Contents
- [Station 1](#station-1)
- [Station 2](#station-2)
- [Station 3](#station-3)
- [Station 4](#station-4)
- [Station 5](#station-5)
- [Station 6](#station-6)
- [Station 7](#station-7)
- [Station 8](#station-8)
- [Station 9](#station-9)
---
# Station 1
## Account & Posts
- [Qabilah Profile](https://qabilah.com/profile/bilal-alasha/professional-profile)
- [First Post](https://qabilah.com/posts/%D8%A8%D9%84%D8%A7%D9%84-%D8%A7%D9%84%D8%B9%D8%B4%D8%A7-%D9%85%D8%B4%D8%A7%D8%B1%D9%83%D8%A9-%D9%81%D9%8A-%D8%A3%D8%A8%D8%AD%D8%A7%D8%AB-saif-%D9%88%D8%A7%D9%84%D8%AA%D8%B9%D9%84%D9%85-%D8%A7%D9%84%D8%A2%D9%84%D9%8A~254541840693334016)
## Platform Review
### What I Liked
- Overall design is good and easy to navigate.
- The `قبائل` (Tribes) concept is excellent.
- Auto-tagging works impressively; even a simple post was categorized correctly.
- Genuine interactions are encouraged while spam and pirated content are discouraged.
- The ability to contribute as little as $1 feels like an honest donation model.
### What Could Be Improved
- The hackathon countdown shown during browsing felt distracting.
- Missing bilingual profiles (Arabic + English names).
- Very low traffic currently.
- The paid plan offers limited practical value.
- Long-term sustainability may become challenging, especially if video uploads are added.
---
# Station 2
## Website
[Live Website](https://docker-9d275c9c-web-38fb60c3.hosted.cumin.dev/)
### Deployment Experience
The deployment process on Ghaymah was extremely easy—perhaps too easy. For example, I did not need to verify my email before deploying a website, which could potentially be abused for spam.
**Update:** After more than 12 hours, the website was still not active. I double-checked my setup and contacted support.
**Update 2:** Support never responded. Eventually, the person who assigned the tasks helped me identify the issue. The problem was on my side: I zipped the entire folder instead of placing `index.html` correctly in the root directory.
---
# Station 3
## Part A Mithal Search Evaluation
I chose browser automation using Playwright (Python) to execute 100 diverse Arabic queries on Mithal.
The script:
- Generated 100 topics covering science, history, culture, technology, and daily life.
- Opened each search URL with a 2-second delay.
- Captured a full-page screenshot for every SERP.
- Extracted structured data into a CSV file.
- Logged errors and retried failed queries up to two times.
> **DISCLAIMER:** I would not have been able to complete this script in such a short time without assistance from LLMs. Browser automation was completely new to me, so I had to learn the basics from scratch while guiding the model to generate the code.
### Results
[CSV Results](https://app.gitpasha.com/Bilal_Alasha/Search_Script_-_results)
### Observations
- The search engine appears heavily dependent on exact keyword matching.
- Context awareness is limited.
- English typo correction works better than Arabic typo correction.
- Only a single page of results is available.
- Video results are not supported.
- I like that the AI component is optional instead of being forced on the user.
- The UI feels outdated and could benefit from modernization.
## Part B Agentic Mithal
The current way Mithal is working is just a very simple or average at best search engine. The only point going for it is the no-tracking policy, and to be honest it's more of a 'trust me bro' nothing is solid or explained about it. There is also the Arabic-first approach, but it's not super realistic since people would want to search in other languages too all the time, so I don't really count that as a feature.
The question you are asking is how to evolve it into an agentic experience. Now this is much more interesting. For example, currently when a user asks "ما هو أفضل هاتف في الرياض لعام 2024", the engine simply matches words and shops and provides links. Yet if we use Agentic Mithal → it breaks down into subtasks: search phone reviews, check current prices via API, filter by "available in Riyadh", then synthesizes a ranked answer with citations. That would also include stuff like currency converter, geolocation, and price APIs.
Now to do this without any problems would require a lot of APIs and work with the main stores, for example. And if we are Arabic-first, that shouldn't be super hard, but still a lot of work. As far as I know, currently AIs can't really do the 'browse like a human and get info' thing without messing something up. But having it implemented as a search engine is actually a good idea if it does not scrape websites and gets official APIs.
One of the problems you would be facing is personalization without tracking, since that would require ondevice profiles, sessionbased memory, or userdeclared interests.
There is also the simple issue of Arabic language difficulties, such as: morphological richness (same root gives many meanings), dialects (Egyptian, Levantine, Gulf) the agent must detect or ask. Righttoleft script and bidirectional text issues, and limited highquality Arabic datasets for training retrieval models.
So if I were to start with this engine, I would start with Modern Standard Arabic + limited dialect support, then expand.
Finally, the biggest problem is going to be hallucination & multisource synthesis. First of all, using something like RAG would help us avoid that, since the agent only answers from retrieved documents, never from "memory". As for multisource synthesis, I would prefer using official APIs from the sources for two main reasons: first, not eating away traffic from the official source, and also to avoid the scraping that would be annoying to do both because of websites' security and the simple fact that it can get some stuff wrong. And of course, every claim must have a clickable source and a disclaimer that it's AI, and even with all of that it could still get something wrong.
Despite these challenges hallucinations, Arabic language complexity, and the need for official API integrations building an agentic Mithal is not only possible but necessary. If executed with transparency, clear citations, and a gradual expansion from Modern Standard Arabic to dialects, Mithal could evolve from a mediocre 'trust me bro' engine into a truly trustworthy, privacyfirst, Arabiccentric assistant. That would be a search experience worth using.
---
# Station 4
## Token Request
### Command Used
```bash
curl.exe -X POST `
https://jinn-compute-http-ed7c6e1b.hosted.cumin.dev/cb5a23a97-token-proxy/ `
-H "Content-Type: application/json" `
-d '{\"username\": \"Bilal\", \"platform\": \"github\"}'
```
The endpoint returned both an ID and a token. However, using the same username and platform repeatedly still generated new IDs and tokens each time, so I was unsure about the purpose of that behavior.
## LLM Interaction Script
Instead of using the official UI, I built a Python script that interacts directly with the service.
Since there was no official API documentation, I inspected browser network requests and eventually managed to:
- Create new chats.
- Reuse existing chat IDs.
- Maintain conversations through the script.
### Initial Prompt
```text
You are an expert R&D assistant specialized in AI, Machine Learning, and LLMs. Provide 3-5 creative, underexplored research directions. For each idea: short title, brief explanation, why it's promising (with novelty evidence), and at least one reference to a paper or source. Be concise but insightful. Reply only in Arabic.
```
[R&D Bot Repository](https://app.gitpasha.com/Bilal_Alasha/R-D_Bot)
---
# Station 5
## aiXplain Agent
[Agent Link](https://studio.aixplain.com/browse/agent/6a2698e71ea81106dbbaca0d?by=67117)
Agent ID:
```text
6a2698e71ea81106dbbaca0d
```
## MCP Overview
An MCP server can connect multiple tools, models, and agents through a single PAYG API key.
### Main Integration Methods
1. Connect external services through Studio.
2. Add external APIs as SDK tools.
### Limitation
I could not generate an API key because the feature required credit, so I continued using the UI only.
I went to create new agent I got our frind "Weather & Info Assistant" up and running , the the main Instruction I made sure it uses the MCP tool .
then to add an MCP server to the work flow of the agent I simply pressed the + button and searched for it ... too easy if you ask me . then I simply gave it a name , then at the start I tried using public MCP servers but it did not work since the ones I found seems to be offline so my only option was to run one localy from my machine .. so that's what I did
## Local MCP Setup
### Time Server
```bash
mcp-proxy --port 3000 uvx mcp-server-time
```
but that did not work since uvx is not on windows by default ( I have no idea what that is I just wanted to be done with this so don't ask lol) so I had to run this command :
```bash
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
```
### Exposing the Server
then finally I was able to run the server ... localy , now to be able to access it over the web I had to use some kinda tool and after some searching I found my good friend ngrok , so I went to there website and download it , and ofc .. they want me to sign up to get my auth key ... sure why not so I signed up .. then I had to run:
```bash
ngrok config add-authtoken "<YOUR_AUTHTOKEN>"
ngrok http 3000
```
### Weather Server
and finally we are online up and running .. now going back to Xstudio where we connect the mcp server to :"https://compel-reemerge-june.ngrok-free.dev/mcp" and finally we have it up and running .
now we actually need to make it tell the weather since for now I just tested the time to do so we just re run the server using this command :
```bash
mcp-proxy --port 3000 uvx casual-mcp-server-weather --transport streamablehttp
```
After reconnecting through aiXplain Studio, I successfully accessed:
- Current weather.
- Forecasts.
- UV index.
- Air quality.
---
# Station 6
## Feedback
Again, like Ghaymah, please use some kind of email verification. I was able to sign up without confirming anything.
I also noticed issues when uploading multiple files through the UI. Uploading more than five files at once often failed, while uploading files individually or through the command line worked reliably.
## Selected Project
[Plant Leaf Disease Classification and Confidence Estimation using Neural Networks with Fuzzy Logic](https://app.gitpasha.com/Bilal_Alasha/Plant-Leaf-Disease-Classification-and-confedence-Estimation-using-Neural-Networks-with-Fuzzy-Logic/src/branch/main/)
### Why This Project?
To be hounest I don't have many (good projects) , If I wanted to pick one from how inflinsul on it it was I would have picked another project but it was very bad in the other project I simulated the VFH algorithm with a robot , it was funny looking back at that time how little did I know about anything and tried to to that in 2 days only .
as for this project it kind of reminded me of that since we hade to do it a very short ammount of time with a lot going on , I am not statsifed with it not even a little from a sinctific stad point but I leaned a lot from it and actually done my part in the time we were givin , my co author was not able to do it tho so it's kinda janky from his part .
---
# Station 7
## Projects Reviewed
### Project 1
https://www.mortakaz.com/projects/691172dd0954c2682eb139d2?tab=reviews
### Project 2
https://www.mortakaz.com/projects/6985c7ae76d5a85c6107f577?tab=reviews
### Why I Chose Them
- Project 1 aligns with my strong interest in privacy, tracking, and data collection.
- Project 2 introduced an interesting new framework from an Arab developer and seemed promising enough to support with feedback.
---
# Station 8
The detald PDF file have been uploaded to the same repo
---
# Station 9
## Project Overview
I connected my LLM script with my Mithal search engine script.
The workflow:
1. Generate research directions.
2. Search Mithal using three different search terms.
3. Retrieve the top three results for each search.
4. Organize everything into a text report.
I chose this idea because my primary reason for applying was R&D, and I already had much of the required code available.
### Repository
[Station 9 Repository](https://app.gitpasha.com/Bilal_Alasha/Station_9_finale-version)
### What I Learned
- There are many Arabic services available that most people have never heard of.
- Building a polished experience comparable to major companies such as Google, Microsoft, or Amazon requires far more work than it initially appears.
---
## Notes
All opinions and observations included in this repository reflect my personal experience while completing the challenge.