Skip to content
View madrazaldi's full-sized avatar

Highlights

  • Pro

Block or report madrazaldi

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
madrazaldi/README.md

Hi, I'm Razan 👋

Computer Science @ Universitas Gadjah Mada · causal RL researcher · I build quiet, local-first desktop apps

Email Location Languages


I split my time between two things:

  • Research on causal machine learning and reinforcement learning: learning decision policies from observational data without fooling yourself about confounders. Most recently as a research intern at Constructor University (Bremen, Germany), working on low-emission driving policies for urban logistics.
  • Software that I want to use every day: fast, keyboard-friendly desktop apps that keep your data on your machine. Mostly TypeScript + Svelte 5 on Electrobun, with Rust and Swift where it counts.

🛠️ Things I've built

Hush

Dictation, file transcription and meeting notes for macOS. Speech runs on-device (Parakeet, Whisper, and more on Metal); cloud and AI providers are opt-in. Hold fn, talk, release.

TypeScript Svelte Swift Electrobun

Hearth

A modern, quiet IRC client for macOS, Windows and Linux. Full IRCv3 (history, replies, reactions, read markers), first-class soju bouncer support, and searchable local history.

TypeScript Svelte Bun Electrobun

Patina

A Plex client that plays everything in mpv, with your own config, shaders and scripts. Ships as a desktop app and a keyboard-driven Rust TUI with Miller columns and a scriptable --json CLI.

Rust Ratatui TypeScript Svelte

A desktop listening room for Audiobookshelf: a chapter-aware gapless player, mini player, EPUB/PDF reader, podcast management, offline downloads, and progress that survives crashes without ever overwriting newer progress from your phone.

TypeScript SvelteKit Electrobun


A federated blogging platform: independent instances share posts as peers, with user@instance identities. Six-container setup behind Nginx.

React Express FastAPI PostgreSQL Docker

🔬 Research & ML

Project What it is
Causal-RL Confounder-Aware Eco-Driving Decision Support for Simulated Urban Logistics (first author). Confounder-aware Fitted Q-Iteration on a synthetic benchmark of 96,000 decision epochs, with leakage checks, support-constrained recommendations and doubly robust off-policy evaluation.
Neural medical search Sparse retrieval with Pyserini + RM3 query expansion, re-ranked with ClinicalBERT.
resume-bert-project Resume classification across 24 occupations: hybrid TF-IDF/SVD + transformer, a TrOCR path for scanned resumes, served with FastAPI on Hugging Face Spaces.
tuberculosis TB detection from chest X-rays: classical lung segmentation + feature extraction + Random Forest (~90% accuracy), with a React front end.

🧰 Toolbox

TypeScript, Svelte, Bun, Rust, Swift, Python, PyTorch, TensorFlow, FastAPI, React, Node.js, PostgreSQL, Docker, Nginx, Linux, macOS, Git, GitHub Actions, LaTeX

Interests: causal ML · reinforcement learning · intelligent transportation · sustainable logistics · robotics · local-first software


Usually shipping more than one desktop app at once. Say hi if any of them are useful to you.

Pinned Loading

  1. DeBlog DeBlog Public

    Decentralized Social Blogging Website

    JavaScript

  2. tuberculosis tuberculosis Public

    Jupyter Notebook

  3. Causal-RL Causal-RL Public

    TeX

  4. hearth hearth Public

    A modern, quiet IRC client for macOS, Windows and Linux: full IRCv3, soju bouncer support, searchable history. TypeScript + Bun + Svelte 5 on Electrobun.

    TypeScript

  5. hush hush Public

    Dictation, file transcription and meeting notes for macOS. Local-first speech-to-text with optional cloud and AI providers.

    TypeScript

  6. patina patina Public

    A beautiful Plex client that plays everything in mpv: an Electrobun desktop app plus a Rust terminal client

    Rust 1