Wendirad Demelash
Portfolio
Universal Exam Proctoring System
A remote exam proctoring platform that verifies candidate identity and monitors exams in real time. It combines facial recognition for identity verification with live video proctoring and an admin dashboard for managing exams, candidates and sessions. The objective is to make remote examinations as trustworthy as supervised ones without requiring an invigilator per candidate. I built the system across its full stack, from the API and recognition service through to the dashboard and containerized deployment. That covered a FastAPI backend with vector search for face matching, an AI worker handling recognition, a React dashboard, and a Docker Compose setup that brings the whole environment up from a clean machine. Built with — Python, FastAPI, InsightFace, React, Vite, PostgreSQL with pgvector, Redis, MediaMTX, Docker
FidelGen: Visual Amharic Text Generation Using a Multi-Conditional Diffusion Model
A diffusion model that generates images of Amharic text with controlled styling and placement, addressing the failure of standard text to image models on non Latin scripts. It conditions generation on five parallel signals, including the text itself, a descriptive caption, text and background color, and spatial position, and adds a CRNN based auxiliary OCR loss for character level supervision during training. I built the project end to end, from constructing the synthetic dataset through to the trained model and inference pipeline. That included designing the multi condition architecture over a Stable Diffusion VAE and multilingual BERT encoder, training the auxiliary CRNN recognizer to a 0.0026 character error rate, and running the progressive five stage training schedule with mixed precision and DeepSpeed across the full corpus. Built with — Python, PyTorch, Hugging Face Diffusers, Stable Diffusion 2.1, BERT, Accelerate, DeepSpeed, Weights and Biases
Drought Prediction Using Hybrid CNN-LSTM
A study that forecasts drought conditions from over 30 years of monthly rainfall data across multiple geographical sites in Ethiopia. It compares a range of deep learning architectures, including vanilla, stacked and bidirectional LSTM alongside hybrid CNN LSTM and ConvLSTM models, and converts their forecasts into drought conditions using the Standardized Precipitation Evapotranspiration Index. The objective is to support water resource management and agricultural planning by identifying which architectures predict drought reliably and over what time horizons. I worked on the modeling side of a three person team, building the shared training framework that all six architectures plug into. That covered the sequence windowing and per site grouping of the time series, normalization and train and test splitting, and the evaluation pipeline that scores forecasts and derives SPEI from them, so each architecture could be trained and compared under identical conditions. Built with — Python, TensorFlow, Keras, scikit learn, pandas, NumPy, Matplotlib
YenePay Python SDK
An open source library that lets developers add YenePay as a payment method in a Python application with a few lines of code. Rather than hand rolling HTTP calls and signature checks against the payment gateway, a developer creates a client with their merchant credentials, describes the items being sold, and gets back a checkout link to send the customer to. I designed and built the library from scratch, shaping the public API around what felt natural to a Python developer instead of mirroring the raw gateway endpoints. That meant modelling items, carts and checkouts as plain objects, wrapping payment verification and instant payment notifications behind a small interface, and validating inputs early so mistakes surface at the call site rather than as a failed transaction. I set up the full open source workflow around it as well, with automated tests and linters running on every change, hosted documentation, and continuous publication to PyPI so a release is a tag away. Built with — Python, pytest, Sphinx, GitHub Actions, PyPI
Solar Farm Insight — Solar Energy Data Analysis
A project that analyzes solar farm data from Benin, Sierra Leone, and Togo to identify trends in solar radiation, temperature, and wind conditions. It includes statistical calculations, data quality checks, and visualizations to evaluate operational factors such as cleaning efficiency, delivered through an interactive Streamlit dashboard. The objective is to provide actionable insights to improve solar energy performance and operational sustainability. I built the project end to end, from the initial data work through to the deployed dashboard. That began with profiling the raw measurements and dealing with what real sensor data brings with it, including missing readings, implausible values and outliers caught through statistical flagging. Built with — Python, pandas, Streamlit, Matplotlib, pytest, GitHub Actions
ASTU Inventory
A web application for organizations that own a lot of equipment and need to know where all of it is. It replaces paper ledgers and spreadsheets with a single system that keeps a live record of what is in stock, who is holding what, and where every item sits across stores and laboratories. I built this as a full stack developer, carrying it from requirements gathering and system design through to a live deployment. On the back end I designed the relational schema and implemented the application in Django over PostgreSQL, adding role based authorization, the borrow request engine, spreadsheet import and export for reporting, and stock analytics. The dashboard and user facing pages I wrote from scratch in HTML, CSS, JavaScript and Bootstrap rather than adapting a theme. I also owned deployment, from provisioning and securing the server to hosting it behind a domain, with continuous integration running tests and linters on every change. Built with — Python, Django, PostgreSQL, JavaScript, Bootstrap, Gunicorn, Sentry, Git, GitHub Actions
Competitive Programming — Algorithm and Data Structure Practice Archive
A personal archive of over 220 solved competitive programming problems from LeetCode, HackerRank, Codeforces and GeeksforGeeks, organized by platform and difficulty. Solutions are written primarily in Python with a portion in C++, covering the standard range of algorithmic topics from arrays and strings through trees, graphs and dynamic programming. I maintain the repository as ongoing practice in algorithms and data structures, solving problems across both an interpreted and a compiled language to keep the underlying reasoning independent of a single toolchain. Each solution is committed with its problem metadata so the archive stays searchable by topic and difficulty over time. Built with — Python, C++, JavaScript, Git
