Now


A short note of the five things most on my mind: what I’m working on, watching, and troubled by — written down to catch the weak signal before it gets loud. Updated when the signal changes, not on a schedule.

1 · Working onPragati, an open-source project OS: your highest-priority task surfaces first thing each morning, a first-class whiteboard, and a delivery forecast that shows the theoretical fastest finish — the gap to it is the queueing you can act on.

2 · Working onChurnLens: upload a CSV of customers, get who’s about to leave, why, and the action that moves the number. The whole ML pipeline runs in the browser, verified against scikit-learn to < 1e-6. Your rows never leave the page.

3 · Watching — how far “explain the number or don’t ship it” scales. StrokeGuard caps at an honest 0.842 ROC-AUC and says so out loud, because on that dataset anyone advertising 99% is overfitting or lying.

4 · Troubled by — models graded on data they’ve already seen. A published method leaked synthetic test rows into training; I rebuilt it leakage-free, in the open, and shipped the honest number instead of the impressive one.

5 · Thinking about — zero-marginal-cost software for real small businesses. The Nail Hubs runs a real salon’s live bookings with double-booking made impossible by the database schema, and an on-device try-on that costs nothing at any scale.


It’s not about how many things you start. It’s about what you finish.