class ElliotRidout:
def __init__(self):
self.name = "Elliot Ridout-Buhl"
self.role = "Molecular Biologist who writes software"
self.focus = [
"Computational & chemical biology",
"Molecular representation learning",
"Bioinformatics tooling for non-programmers",
"Privacy-first desktop software",
]
self.stack = ["Python", "Swift", "C/C++", "Lua"]
self.currently_learning = ["Rust 🦀"]
def say_hi(self):
print("Thanks for dropping by!")
me = ElliotRidout()
me.say_hi()- 🔬 Molecular biologist turned software developer
- 🧪 I build tools that let biologists do real analysis without writing code
- 🤖 Working at the intersection of molecular data + machine learning
- 🛡️ Also shipping local-first, privacy-respecting desktop software
- 🦀 Currently learning Rust
- 💡 Convinced that good tooling accelerates scientific discovery
|
Interactive, code-free RNA-seq differential expression analysis. Built with Streamlit and PyDESeq2 — designed for beginners, no programming required. |
🛡️ SignalSievePrivacy-first macOS app that detects and cleans hidden Unicode, tracking links, suspicious text patterns, code risks and file metadata — entirely on-device. |
|
Molecular similarity framework applying covariance-aware Mahalanobis metrics to 300D Mol2Vec embeddings. The accompanying article was published in Molecular Informatics (2026). |
Ongoing work on molecular embedding spaces — topological analysis, density-guided navigation and uncertainty estimation — plus assorted game and systems experiments. |
