Skip to content

Instantly share code, notes, and snippets.

View iamarsenibragimov's full-sized avatar
👏

Arsen Ibragimov iamarsenibragimov

👏
View GitHub Profile
@iamarsenibragimov
iamarsenibragimov / crustdata-gist.md
Created April 21, 2026 19:11
CrustData RT strict_title_and_company_match bug — reproduction + impact

CrustData RT Search — strict_title_and_company_match: true does NOT enforce strict matching

Endpoint: POST /screener/person/search Date: 2026-04-21 Reproducible: yes, every call

TL;DR

We pass post_processing.strict_title_and_company_match: true expecting your API to return only profiles where a role at the target company also matches the title filter. Instead, the API returns profiles where:

@iamarsenibragimov
iamarsenibragimov / gist_00_README.md
Created April 7, 2026 19:36
CrustData: Missing profiles investigation — null employer fields, DB Search gaps, RT Search 400s

CrustData: Missing Profiles Investigation

Date of search run: 2026-04-07
Search: VP Engineering / CTO / Head of Engineering, Germany region, current-or-past employee at 71 European tech companies
API version used: 1.6.27

Files in this Gist

File Description
@iamarsenibragimov
iamarsenibragimov / experiment-report-model-comparison.md
Created April 5, 2026 05:39
Scoring Variance Experiment — Model Comparison Report (5 models, 359 candidates, 5 runs each)

Scoring Variance Experiment — Model Comparison Report

Project: Learco Personal, Project 1409 (Graphisoft CEO search) Date: 2026-04-04 Candidates: 359 with full LinkedIn profiles Scoring factors: 6, all on 0-5 scale (total max: 30) Runs per experiment: 5 Concurrency: 32 parallel requests (10 for Anthropic due to latency) Prompt: Identical across all experiments (exported via experiment:export-prompts using production CandidateScoringPromptService) Dealroom enrichment: Skipped (to eliminate external API nondeterminism)

@iamarsenibragimov
iamarsenibragimov / crustdata-missing-candidates-report.md
Last active April 2, 2026 13:40
CrustData People DB: Missing Candidates Investigation

CrustData People DB: Missing Candidates Investigation

Context

We ran a candidate sourcing project targeting VP/Head/Director of Sales, Revenue, and Commercial roles across 735 SaaS companies in Sweden and Finland.

We ran the same search through two pipelines:

  1. CrustData People DB (batched sourcing via /screener/persondb/search)
  2. LinkedIn Recruiter (direct LinkedIn search + profile scraping)
@iamarsenibragimov
iamarsenibragimov / topliner-ai-prompts.md
Created March 31, 2026 11:53
Topliner AI Prompts — Scoring & Tiering (Grok/xAI)

exclude_profiles URN Format Test — Same ~5% Leak Rate

Date: 2026-03-30 Context: Follow-up to earlier bug report. CrustData team recommended using linkedin_profile_url (URN format, immutable) instead of flagship_profile_url (slug format, can change). We switched to URN and re-tested.


Setup

  • Project: CFO search across 5 new companies (CURRENT_OR_PAST, DACH region)

CrustData Bug Report: exclude_profiles does not reliably exclude all specified profiles

Date: 2026-03-30 Endpoint: POST /screener/person/search (Realtime People Search) Severity: Medium — causes wasted credits on profiles that should have been excluded


Summary

@iamarsenibragimov
iamarsenibragimov / multi-tenancy-approaches.md
Created March 23, 2026 23:29
Multi-Tenancy & Data Isolation: Approach Comparison for Topliner

Multi-Tenancy & Data Isolation: Approach Comparison

Context

Topliner is a multi-tenant platform where users belong to Spaces (teams). Data from one team must never be accessible to users outside that team. This document evaluates four approaches to data isolation and explains why we chose application-level checks.

Current stack: Laravel (PHP), Azure Managed MySQL 8.0, Redis, 100+ PM2 queue workers.

Data model constraints:

  • Projects belong to Spaces, but can be shared with users from other Spaces
@iamarsenibragimov
iamarsenibragimov / dealroom-vs-crustdata-replacement-analysis-2026-03-20.md
Created March 20, 2026 14:42
Dealroom vs CrustData: Can we replace Dealroom?

Can We Replace Dealroom with CrustData?

Date: 2026-03-20 Context: This analysis builds on the COMPANY_DATA_PROVIDERS_COMPARISON.md (2026-03-14) with empirical data from 1,346 Dealroom and 318 CrustData company records in our production company_identifiers table.

TL;DR

No. CrustData cannot replace Dealroom for company intelligence in our scoring pipeline. The two services are complementary, not interchangeable. Dealroom provides financial data (revenue, EBITDA, funding rounds with investors, growth stage) that CrustData simply does not have. CrustData provides headcount analytics (role/region/skill breakdowns, weekly timeseries) that Dealroom does not have.

Side-by-Side: Same Company, Two Sources

@iamarsenibragimov
iamarsenibragimov / crustdata-strict-match-false-positives-2026-03-19.md
Created March 19, 2026 13:35
CrustData RT Search: strict_title_and_company_match does not work for past positions

CrustData RT Search: strict_title_and_company_match Does Not Work for Past Positions

Date: 2026-03-19 Severity: High — directly impacts search precision and credit cost Endpoint: POST /screener/person/search (Realtime People Search)


Summary