Salesforce Developer @ UNLV Office of Information Technology Β· Java/Spring Boot Engineer Β· MS in MIS (2026)
- π§ Currently building Sales & Service Cloud solutions and automating CI/CD pipelines (87% faster deployments, ~150 eng. hours saved/month) at UNLV
- πΌ 6 years as a Senior Java/Spring Boot Developer before that (2018β2024), building fintech payment microservices that handled 4,000+ daily transactions
- π MS in Management Information Systems, UNLV (May 2026), with a conference paper on CISO budget defense modeling
- π§ Building and measuring: a crash-safe job queue, a usage-billing pipeline that reconciles to Salesforce, a cell-injury screen for drug discovery, and RAG evaluations that report where each method loses
- π§© Wrote two Claude Code plugins that reject bad code before it reaches disk: Salesforce deploy breakers, and Supabase RLS holes plus code that won't run on Cloudflare Workers
- π 11 pull requests merged upstream: two Apache SeaTunnel source connectors (Intercom, Typeform), a test moved off a deprecated API in Apache Beam, a tagged-PDF fix in OpenDataLoader PDF, a zip filename field in Docling, an MCP server fix in Prisma's Claude Code plugin, and five TheAlgorithms/Java bug fixes found with a fuzz harness I wrote.
- π± Background in Nepal building production fintech (PayMe & AwiPay, 100K+ users) before moving into Salesforce + AI engineering
| Project | Result | Stack |
|---|---|---|
| CytoGuard | Flags injured wells in Cell Painting drug screens and names the injury mechanism. On compounds the model never saw, macro-F1 is 0.462 vs 0.146 for the published baseline, and injured-vs-healthy AUROC is 0.947. A label-shuffled control scores chance (0.053). | Python LightGBM Cellpose-SAM |
| jobq | Job queue that never loses a job or runs one twice by mistake. In a 10,000-job run with a worker killed every 10 seconds (13 kills), all 10,000 succeeded and none ran to success twice. 63 tests, CI runs a chaos test. | Python FastAPI Redis PostgreSQL Prometheus |
| Usage Metering & Billing | Turns raw usage events into invoices and syncs them to Salesforce. Ingests 1M events (10% duplicates) at 38,568 events/s, stores exactly the unique ones, and rebuilds all 200 invoices from the event log with identical SHA-256 hashes. Ledger and Salesforce match to the cent, zero drift. | Python FastAPI PostgreSQL Salesforce Bulk API 2.0 |
| FlowGuard for Salesforce DX | Claude Code plugin that blocks hardcoded RecordType and Profile IDs, SOQL and DML inside loops, and Flows with no fault path, before Claude writes or commits them. 12 rules, 55 unit tests. On the hardcoded-ID eval it scores 1.00 with the plugin and 0.00 without. | Python Apex Salesforce Flow Claude Code hooks |
| RLS & Edge Guard | Claude Code plugin that rejects an edit if it adds a Supabase RLS hole, puts a service-role key in the browser, or uses Node code that won't run on Cloudflare Workers. Across 9 eval cases it lifted Sonnet from 0.78 to 0.98 and Haiku from 0.76 to 0.93. Without it, every model shipped a table with RLS off when asked for "just the table". Static findings are checked against real Postgres with pgTAP. | Python Supabase PostgreSQL Cloudflare Workers |
| Tanks Arena | Authoritative-server multiplayer netcode. Holds 1,680 players on one Node process within the 33 ms tick (p99 26.4 ms). Delta snapshots cut per-player bandwidth by 73%. A cheating client is rejected and corrected. | TypeScript WebSockets Prometheus |
| GraphRAG vs Vector RAG | Side-by-side evaluation on 50 MuSiQue multi-hop questions, fully local on Ollama. Pure GraphRAG lost (18% vs 28%); a hybrid of both scored best (34%). With 50 questions the gaps are not statistically significant, and the README says so. | Python Ollama ChromaDB |
| CAFE-RAG | Plain-language search over 818 climate-health datasets on Harvard Dataverse. recall@5 0.705, MRR 0.635 on a 44-query gold set. | Python SQLite FTS5 ChromaDB Ollama |
Open-source pull requests (merged)
| PR | What it does |
|---|---|
| apache/seatunnel #12831 | Adds an Intercom source connector to SeaTunnel (design in #12823). Fixed all four review items; the integration test passes on Java 11 and 17. |
| apache/seatunnel #12844 | Adds a Typeform source connector (fixes #12822). Pages with Typeform's before cursor and waits 500 ms between requests to stay under its 2 requests/s limit. 20 unit tests. |
| apache/beam #40865 | Moves SplittableParDoProcessFnTest off the deprecated DoFnTester. The tests advance processing time and fire timers by hand, which TestPipeline can't do, so the test helper now runs ProcessFn through DoFnRunners.simpleRunner, the same runner the DirectRunner uses. All 15 tests pass with their bodies unchanged. |
| opendataloader-pdf #776 | Shares one marked-content ID across adjacent text operators. PDFs from Google Docs and Chrome print had one tag per letter in the structure tree. |
| docling-project/docling #4996 | Adds an optional filename to ZipArchiveResult, so a converted zip can carry a real download name instead of converted_docs.zip. Older results still validate. Step 1 of a three-repo change for docling-serve #732. |
| prisma/claude-plugin #3 | Pins the local Prisma MCP server to prisma@7.10.1. Unpinned, npx pulled the 8.0 release candidate, which has no mcp command, so the server failed to start in Claude Code. |
| TheAlgorithms/Java #7660, #7661, #7662, #7663, #7666 | Wrote a differential fuzz harness that runs each algorithm on random inputs and checks it against a java.util reference. It found 8 bugs, and 5 fixes are merged: SwapSort looped forever on duplicates, TreeSort dropped duplicates, FlashSort and DutchNationalFlagSort crashed on 2-element and empty arrays, case-insensitive HorspoolSearch skipped real matches, and SkipList shrank its size when removing a missing element. |
Earlier AI-security work: Zenith (MCP security and observability gateway), Hyperion (zero-trust validation of AI-generated infrastructure actions), Project-Aegis (MCP gateway with RBAC and PII redaction) and AI Knowledge Assistant (GraphRAG).
More Salesforce, dashboard, and cybersecurity-risk projects on my full portfolio β
π Full Portfolio


