murug030 [at] umn [dot] edu
gh/k8rthik · in/k8rthik
minneapolis
bgelo
Rating engine for board game night. Decomposes multiplayer results from BG Stats exports into pairwise Glicko matchups with confidence-weighted, complexity-scaled updates, and publishes a session-driven dashboard: rating trajectories, game weights, leaderboard, head-to-head records, and player–game affinity.
[stats] [blog]dr.active
Developed a regression model using RDKit and scikit-learn's random forest to predict binding affinity (MAE) from SMILES string and target name with 70% accuracy. Subsequently implemented a Graph Neural Network to increase arruracy by 15%. Used Gradio to deploy interactive demo to web.
[demo] [code]BioScrolls
Fine-tuned BioBERT and relation extraction techniques to mine multilingual biomedical literature for neurological gene-disease-drug associations, building a time-indexed knowledge graph with key metrics such as entity frequency, relationship confidence, and trend analysis over time.
[demo] [code]dr.optimus
Developed a drug optimization pipeline using Deep Q-Networks (DQN), where the agent modifies molecular structures represented as graphs using a Graph Neural Network (GNN)-based environment; evaluated optimization success using QED (Quantitative Estimate of Drug-likeness), binding affinity scores from docking simulations (e.g., AutoDock), and toxicity predictions generated by pre-trained classification models.
[demo] [code]bgelo: an elo engine for board game nightAug 3, 2026 · 15 min
A component-by-component walkthrough of the pod's rating engine — pairwise Glicko-1, context weights, calibration, and every custom decision in between
the full archive lives here.
,>=+:
{c7984z"
!2CX0ZY8\.
/29YXXC4ol?!
}157763v^"(|u/=^
<o35541v? ,~l)x}=^
'fc333cur- -!llf=!`
~ny221ox|_ ,!?f|f+:.
=xoccyvj\_ ,!]z)l>_
?zuyyoj|}^ "+|n\(-_
*jvuujti(?~, ~?|n}}"'
>rxvvnzrill\[:' <}lu/]'
;iznnnzf|{<]ft)+^. ?{jx?*.
_}rzxxzfi{^ ^<|xf\<^ '`{\rj=!:[//[^
.?ljzxzfl\>. ~[fnf\~, _:izfxvuuv=
;)rjzzft)?, _<\uuz]:` ,!}juoc111o|
,{lfjjft|};.```````;/uc1l[=]})rxc4568897753z_
`:<[/ifxoc3678CJJQQYYYYYYYYXZXXXXXXX0ZZ0OZOZO0O000ZZXUQJ04(.
,+)z28LYZmwdkaoXNXMRRR##%%%%%%%%MMMM%%%%####M#MMXXEhabdqmOXC1/_
'*f39JXOqdkoXNM%%MWBW&&&&@@@@$$$$$$$@@@@@&&&BWBMM##NNohbp09ct*,
*u5LYZmqdkaaoEEXENXNXoEobdddddddkhhhhdpqwm000ULC053yvr)]<"
(28CY0OOmmOC5ur(]=>/x4oi*_ `?|trfrt|}~
?17LJYYYLj+' .>\x1z/>` ~(lrffti\*`
f38LLL93n+:. '?\nui]^. _{irffrl){^
x378863j!]z)l>:. -?)nj)<,'=|trfft|\>
)c4553cz" "+{zi(-_ :[|jl]*)trffri(*'
!u2442cn\. ~?|n}}"' !]|liilrfrl)],
\u122cuj* <}lu/]' _!{l)|rrt|}_
'tucccoxt+ ?{jx?*. =itjffti/"
"tvoyouj|= '`{\jx+<. +lrfffti/`
_ixuoui)|*:' '`\lzt<! =trfffri]
,)zvuvxrtit}+: "^))t|~: {trfffrl>
'}fxnvxjl\{/lr}=_ ;~lri]-, ,lrrfffr(
=tzxnxjt(<`^[|zf]<` '++zli]_/trjzzzr,
:)fzxzjt|[, '~\rut[>. '+=nfrznvvnj'
,{tjzzjr|}: ,[)nol]^ _=tnuyycco(
<|rjjjri\+' :/t1y|*_"-!={)ru134675652x,
_:>*]/)irjznooo256678987644333433788CJCQJQQYYYXUYYYQJC86i`
^=(fy60QUOmqdkhaaEXXXNNNNNRRRRRRRMMMMNNNMNNNXXXoohhbdpwm0UJ7l-
!)o6LYZwpbhENNR#MMWBB&&&@@@@@$$$$$$$$@@@&&&BBWW%%#MXXakpq0Lci<.
<x50QZOqbkaoXXNNRR####%#####%%%%#RRRRRRRRRMMMoaadm0JL5yx|]!`
.\28JY0OwwqqwUL3yxrf208yl*;;;;;;;:<|tfjjfl)]^`.
[18LQUUUQc)<` _>|ocx[~' ,{itffrl){-
+48LCC05l"' "=tvo|+: .+|trfrt|/<.
~luoz{=}jx?*. :]lnj}!, -\lrffri(?,
.{\jx+<. `~{tzi*~}irffrl|}-
'`\lzt<! `!\|fiilrffti\~
"^))t|~: _+/|i|lfti(<
;~llt|:, ^\ltjfrl)+
;<zli]_' _\tfffrt)<
'+=nl(?_' ,)rrffft|~
`??nr}!` "irfffft),
^}/o)}! <trfffft+
^}/u)[".trrfjjf\
,<))xzc564yx|
']5JXZXC3]
_oJX0XCz'
.+)i(!