I like difficult problems — not because they're easy to explain, but because they're interesting to solve.
Computer Engineering @ IUT. All open source, all engineered the same way: clear boundaries, real tests, written decisions.
| Repo | What it is |
|---|---|
| NexusHub |
Self-hosted AI agent platform on top of NexusAgent — tool calling, streaming, memory & RAG, eval-first with full trace observability. |
| SecureSync |
Encrypted P2P file synchronization engine — async networking, E2E encryption, Clean Architecture. 576 tests · 94% coverage · CI on 3 OSes · 27 ADRs · v1.6. |
| docubot |
Production-grade RAG knowledge-base backend — Django 5.2 + pgvector + Celery, streaming answers with citations. 298 tests · 94.7% coverage. |
| forecastforge |
Reproducible time-series forecasting — leakage-safe walk-forward backtesting, strict mypy, 85% coverage floor, honest benchmarks. |
| football-battle-arena |
Cinematic football website — every club is a battle team. Next.js · live demo. |
| awesome-scripts |
38 ready-to-use Telegram bots, web and desktop tools — my most-starred work (80+ ⭐). |
| Project | What it is |
|---|---|
| SecureSync | Encrypted P2P file synchronization engine — async networking, end-to-end encryption, Clean Architecture. 576 tests · 94% coverage · CI on 3 OSes · 27 ADRs · v1.6. |
| NetScope | Network troubleshooting that tells you whether the problem is your Wi-Fi, your ISP or the service — with evidence, not just ping numbers. 525 tests. |
| live-attack-map | SSH honeypot that catches real brute-force attempts and streams them to an animated world map. 🔴 live demo |
| hyperfinder | Multi-threaded file search engine in C++17 — built on a custom thread pool. |
| Project | What it is |
|---|---|
| NexusHub | Self-hosted AI agent platform on top of NexusAgent — tool calling, streaming, memory & RAG, eval-first with full trace observability. |
| NexusAgent | Modular runtime for AI agents — agents, providers, tools, memory, and a small readable core. |
| docubot | Production-grade RAG knowledge-base backend — Django 5.2 + pgvector + Celery, streaming answers with citations. 298 tests · 94.7% coverage. |
| ForecastForge | Reproducible time-series forecasting with leakage-safe walk-forward backtesting — strict mypy, 85% coverage floor, ADR-driven. |
| Machine-Learning Lab | Persian RAG assistant with hybrid retrieval — BM25 built from scratch, fused with multilingual E5 via RRF, RAGAS-style evaluation on a golden set, FastAPI + Docker serving. 121 tests · 3 CI jobs · 🤗 live demo in your browser. |
| Project | What it is |
|---|---|
| awesome-scripts | 38 ready-to-use Telegram bots, web and desktop tools — my most-starred work (80+ ⭐). |
| FlowForge | Django workflow engine — outbox, leases, fencing tokens, OpenAPI SDK, failure-injection test suite. v1.0.0 shipped · docs. |
| stacksmith | Production deployment kit for docubot — compose, zero-downtime deploys, tested backups, alerting. v0.1.0 shipped. |
| Football Battle Arena | Cinematic football website — every club is a battle team. Next.js · live demo. |
01 UNDERSTAND Start with the problem, not the framework.
02 DESIGN Think about boundaries, trade-offs and failure modes.
03 BUILD Make it real.
04 BREAK Test the things that shouldn't fail.
05 DOCUMENT If a decision matters, write down why. (30+ ADRs and counting.)
◉ NexusHub → agent evals, deployment stories, first external contributors
◉ NetScope → from MVP to a real diagnostic platform
◉ NexusAgent → tool selection and memory
◉ apache/airflow → scheduler follow-up work from the #76629 review feedback
| Project | What I did | Status |
|---|---|---|
| Apache Airflow | #76629 — DAG-level on_failure_callback never fired; the scheduler only logged callback is empty. Root-caused a SQLAlchemy session-recovery gap in the scheduler's callback-production path, fixed it, and added failure-mode tests that simulate the poisoned-session state for real (genuine IntegrityError flush, not mocks). Closes #63374. |
✅ CI green on sqlite · postgres · mysql — reviewed, awaiting merge |
| Apache Airflow | #76627 — operator extra links are resolved through XCom for every task instance, even when the URL is constant, so a link that was never pushed renders empty. Added static extra links rendered straight from the operator definition (docs, dashboards, consoles) with no XCom round-trip, plus UI renderer tests. Closes #55432. | 🔎 open — mergeable, awaiting review |
| sqlfluff | #9072 — LT02 flagged VALUES-clause indents inside brackets (FROM (VALUES …), WITH … AS (VALUES …)), where the brackets already provide the indentation. Fixes the false positive and adds regression tests for both bracketed forms. Closes #9055. |
🔎 open — in review |
| Languages | |
| Back-end & APIs | |
| AI & Data | |
| Data & Messaging | |
| Front-end | |
| Infra & CI/CD | |
| Testing & Quality |
I take on projects where the backend actually has to work:
- Telegram bots — shops, subscriptions, games, moderation, AI assistants
- Web backends & apps — Django / Flask / Next.js
- Systems & security tooling — networking tools, honeypots, encrypted communication
- AI integration — adding ML and LLM features to existing products
Let's build something.


