Find more duplicates without merging two different people.Business rules, analysis and QA for a nonprofit CRM deduplication: who counts as the same person, how sure we need to be before merging, and the checks every merge file had to pass.
My job at EDF · no employer data shownFigures from my résumé; examples are made upRoles: Data engineering, CRM and RevOps
Decide which numbers you may use before deciding which is best.A five-stage pipeline in production that reconciles phone records from several systems, decides which numbers may be called or texted, then picks one best number per person, the same way every run.
My job at EDF · no employer data shownFigures from my résumé; examples are made upRoles: Data engineering, CRM and RevOps
Two systems, two member counts, one root cause.Helped move the organization’s CRM to EveryAction, then traced a membership count that disagreed by about 44K people to a sync that had been switched off.
My job at EDF · no employer data shownFigures from my résumé; examples are made upRoles: CRM and RevOps, Data engineering
Count what happens after sign-up, not just the sign-up.Redesigned acquisition metrics so they follow every action a new supporter takes after the first one, for 185K+ new supporters, plus a retention scoring framework.
My job at EDF · no employer data shownFigures from my résumé; examples are made upRoles: Analytics and BI, Data engineering
Documentation is a claim. Test it against the data.Verified the documentation of an interaction model of about 400 million rows from about 25 platforms against the data itself, with SQL profiling and a Snowflake Cortex agent for the open questions.
My job at EDF · no employer data shownFigures from my résumé; examples are made upRoles: Data engineering, AI and automation
Website, CRM, client portal and transaction coordinator in one app.One React and Supabase app runs my website, lead capture, client portal and an AI transaction coordinator that reads contracts, tracks deadlines and drafts client emails a person approves.
Live at jungmarker.comReal system, private codeRoles: Full-stack and product, AI and automation, CRM and RevOps
Every page’s content in the HTML, before any JavaScript runs.Build-time prerendering, one connected structured-data graph, English and Spanish page pairs, and image and bundle work for jungmarker.com, with before and after measurements.
Live at jungmarker.comReal system, private codeRoles: Full-stack and product
Drag a list price and see where it lands against what similar homes actually sold for.Instead of a PDF of comparable sales, sellers get a private web page where they can test a list price against what similar homes sold for, and see the evidence behind the price I recommend.
In use in my business · private codeMy real estate business: live on my websiteRoles: Full-stack and product, Analytics and BI
Ask Claude who I should call today, and it answers from my CRM.An MCP server on my real CRM, so I can ask Claude Desktop or Claude Code who I should follow up with, what’s due this week or what a client told me, and get answers from my own data.
In use in my business · private codeMy real estate business: in daily useRoles: AI and automation, CRM and RevOps, Full-stack and product

Free calculators on my website: what a seller walks away with after taxes and costs, a monthly mortgage payment, and rent versus buy, using Maryland and DC tax rates checked against official sources.
Live at jungmarker.com/calculatorsMy real estate business: live on my websiteRoles: Full-stack and product
Every post and follow-up starts as a draft I review, and ads stay inside housing-ad rules.AI helpers that run my daily marketing: social posts, a weekly ad plan, lead scoring and follow-up drafts, all tuned to Baltimore and kept within fair-housing ad rules.
Code on GitHubMy real estate business: no outcome numbers yetRoles: AI and automation, CRM and RevOps

A shipped desktop dictation app: hold a key, talk, let go, and the words are typed wherever the cursor is. Speech is transcribed on the user’s own computer, so the audio never leaves it.
0.3s to transcribe a 12-second clip on Apple Silicon with the best modelFrom the product site
Live at vurb.meShipped product: figures from vurb.meRoles: Full-stack and product, AI and automation

A redesign of how new leads get assigned in Salesforce, so no lead sits with a salesperson who left or skips the customer’s existing rep. Replayed on the sample company’s lead history to prove it.
47 UAT tests each named by its UAT ID and acceptance criterionBuilt and working
Write-up ready, code not public yetSample company data (Ledgerly)Roles: CRM and RevOps

Builds the weekly numbers report a leadership team reads, checks every number against a second source before showing it, and separates real changes from normal noise.
9/9 tie-outs passing in all three weekly packsTested on sample data
Write-up ready, code not public yetSample company data (Ledgerly)Roles: Analytics and BI, Data engineering

For a company that bills by usage, checks every invoice against what the customer actually used and the price they agreed to, and explains each mismatch.
119 nodes in the dbt build (models, seeds and tests)Built and working
Write-up ready, code not public yetSample company data (Parallax, a made-up API company)Roles: Data engineering, CRM and RevOps, Analytics and BI
Agents can propose a change. A different person approves it, and anything stored can be rolled back.The company-sized version of my CRM’s MCP server: AI agents can look things up and suggest changes, but a different person approves every change, and anything can be rolled back.
Write-up ready, code not public yetSample company data (Ledgerly)Roles: AI and automation, CRM and RevOps

Flags the customers most likely to cancel in the next 90 days and explains each flag in plain English, tested on past months and on a second company it never saw.
0.88 AUC for the shipped model, against 0.59 for a rules health scoreTested on sample data
Write-up ready, code not public yetSample company data (Ledgerly)Roles: Analytics and BI, AI and automation

Measures whether marketing campaigns really caused more sales, on simulated campaigns where the true answer is known, so each method gets graded.
All 8 primary intervals contain the true effect on seed 42Tested on sample data
Write-up ready, code not public yetSample company data (Ledgerly)Roles: Analytics and BI

Spots the customers a salesperson should contact now, has Claude draft the next step, and puts every draft in front of a person. Tests score every change to the prompt.
52 tests offline, including an end-to-end run against the real MCP serverBuilt and working
Write-up ready, code not public yetSample company data (Ledgerly)Roles: AI and automation, CRM and RevOps

Forecasts how much a sales team will close this quarter, then proves the method: for each past quarter it forecasts from what was known on day one and compares with what actually closed.
8.9% forecast error (MAPE) over 9 quarters, against 42.5% for the CRM’s default stage percentagesTested on sample data
Code on GitHubSample company data (Ledgerly)Roles: Analytics and BI, CRM and RevOps

Finds duplicate companies and contacts in CRM exports, picks which record to keep, and produces merge files a Salesforce admin can act on, with the reasons for each merge.
100% account auto-merge precision on a company the model never sawTested on sample data
Code on GitHubSample company data (Ledgerly)Roles: Data engineering, CRM and RevOps

Turns raw contract data into recurring revenue, retention and growth numbers, with every metric defined in writing and tests that fail if the numbers don’t add up.
47 models and tests pass in about 2 secondsBuilt and working
Code on GitHubSample company data (Ledgerly)Roles: Data engineering, Analytics and BI

Suggests which team a support ticket should go to, and hands anything it isn’t sure about to a person.
100% category accuracy on the synthetic test set, against 75.4% for the noisy agent labelsTested on sample data
Code on GitHubSample company data (Ledgerly)Roles: AI and automation, Analytics and BI
The synthetic company behind most of these projects, with the true answers exported separately so work can be scored.A fake software company I generated, with realistic sales, billing, usage and support data plus the hidden right answers, so I can show data work without using anyone’s real data.
Code on GitHubSample company dataRoles: Data engineering