Projects
Portfolio of open-source tools, production client work, and experiments. Each featured item below is written for outcomes (problem → what shipped), not just stacks.
Looking to hire or collaborate? → Work with me · Resume
Featured
run-kit
Problem: Run and iterate on polyglot snippets without juggling N local toolchains.
Outcome: One CLI for 25+ languages, stateful REPL behavior, and CI-friendly workflows — reduces friction for teaching, tooling, and quick validation.
Stack: Rust · GitHub Actions — Active development
Star Growth
Problem: Stargazer growth is invisible in flat GitHub UI.
Outcome: Shareable animations of star history for marketing and community updates.
Stack: Python · GitHub Actions — Active
Cadastral Information System (INTAPS)
Problem: Cities need reliable land and ownership data for planning and services.
Outcome: Mission-critical cadastre platform (v10) for major Ethiopian cities — high availability expectations, GIS-scale data, institutional users.
Stack: C# · ASP.NET Core · PostgreSQL · React — Production
Machine learning & NLP
Emotion Classification
Problem: Large Telegram groups need a sense of emotional tone beyond raw volume.
Outcome: BERT-based classifier for group-chat emotion — research/iteration path toward production-style NLP.
Stack: Python · Jupyter · BERT
CubeSat image prioritization
Problem: Satellite downlink is limited; not every image is worth sending.
Outcome: Hackathon 3rd place (Hack4dev): lightweight CV model to prioritize frames and reduce wasted bandwidth.
Stack: Python · TensorFlow · Computer vision
Sentiment pipeline
Problem: Communities want aggregate sentiment from noisy chat logs.
Outcome: Trained sentiment pipeline surfaced via Telegram for real group data.
Stack: Python · NLP
Web applications (selected)
| Project | Problem → outcome | Stack |
|---|---|---|
| Modern Dictionary | Unified lookup across major English dictionaries | Next.js · ASP.NET Core |
| Ethiopian Dictionary | Ethiopian language translation with Gemini | Next.js · Gemini |
| Guade | AI-generated practice for any subject | Next.js · PostgreSQL · Gemini |
| Wereb Collection | Curated liturgical music access | Next.js |
| WikiRandom | Lightweight discovery reading | Next.js |
| Telegram Analysis | Conversation insights for users | Next.js |
Python packages
- britannica-dictionary — Crawl and package dictionary data; published on PyPI with companion site and bot.
- AfrimPy — PyO3 bindings exposing the Afrim input engine to Python.
- Wereb — Utility downloads for liturgical audio (BeautifulSoup).
Telegram bots (sampler)
- Hagerie | ሐገሬ — Multilingual dictionary (Amharic, Ge’ez, Tigrinya, Oromo, English).
- AAU Robot — Grade reports for AAU students.
- SaveLink Robot — Download helpers for social video links.
- Steel AI Bot — Agent-style flows with Gemini.
- Meaning Robot — Dictionary bot (Britannica / Merriam-Webster).
- Results Robot — Grade 12 exam results checker.
Most non-client tools are public hobby/OSS projects. More apps and bots: hagerie.esubalew.et.