Michal Kaszubski
PDF and references available on request

The PDF is the CV as supplied in September 2026. This page carries its facts without the phone number.

Profile

I investigate how models fail, build production AI systems and create products that people actually use. My research is on model reliability in medical imaging (UCL MSc). I run NeuralTake, my AI consultancy, through which I engineer AI Zuzi, a production platform for a client company; before that I researched systematic trading signals as a consultant to WorldQuant Brain. I have built NeuralKite for acquisition research and ChefBot, a cooking assistant on GPT.

Education

2025 to 2026

MSc Artificial Intelligence and Medical Imaging, UCL, on track for Distinction

Department of Medical Physics and Biomedical Engineering, London

  • Focus: high-dimensional medical image analysis (MRI and CT), deep learning and foundation models, image reconstruction and inverse problems, robustness and evaluation of AI in safety-critical settings.
  • Trained and fine-tuned convolutional and transformer models on UCL’s GPU clusters, optimising memory use and run time for medical imaging data.

BSc (Hons) Computer Science, City, University of London, 2:1

  • President, City Wealth Management Society: led a society of 115+ members, secured external sponsorship and a Bright Network partnership, and organised competitions and speaker events including Paul Donovan of UBS.
  • President, Polish Society: grew membership from 0 to 100+ in one year, winning City SU’s 2023 Most Improved Society Award.

Experience

October 2024 to present

Managing Director and AI Engineer, Neuraltake Limited (NeuralTake), London

  • Founded an AI consultancy that automates manual workflows for professional services firms: a two-week embedded workflow audit with a ranked punch list, then fixed-fee builds live in two to six weeks, with thirty days of post-launch defect cover.
  • Secured and delivered signed B2B AI software and consultancy contracts end to end, owning stakeholder discovery, scoping, requirements, architecture, delivery, onboarding, support and roadmap.
  • Designed, built and deployed a production AI SaaS in Django, React and PostgreSQL, supporting AI-assisted content generation, multilingual workflows, payments and seven third-party integrations, for approximately 50 business users.
  • Took a client platform from prototype to production through a security audit, encryption at rest, MFA, GDPR-aligned deletion and a zero-data-loss live migration from SQLite to PostgreSQL.
October 2023 to October 2024

Quantitative Research Consultant, WorldQuant Brain, LLC, London

  • Researched and backtested systematic trading signals in Python, evaluating risk-adjusted performance, turnover, decay and robustness.
  • Iterated signal formulations and neutralisation choices.
  • Documented findings within a global quantitative-research community.

Projects

October 2025 to August 2026

MIQA, MSc thesis: AI for medical image quality assessment, UCL

  • Benchmarked ResNet-18/50, DenseNet-121 and EfficientNet-B0 on 1,027 UCLH prostate DWI acquisitions from 627 patients under strict patient-level cross-validation. A three-seed DenseNet-121 ensemble reached mean AUROC 0.819 (SD 0.049 across five folds), up to 0.17 AUROC over classical radiomic baselines.
  • Built a heterogeneous multi-architecture ensemble reaching 83.6% retained-case accuracy at 70% coverage in a retrospective triage simulation, deferring uncertain scans for review; distilled it into a single model at about one-ninth of the ensemble’s inference cost.
  • Open-sourced a reproducible PyTorch pipeline (MIT) with 700+ training runs, CI tests, paired Wilcoxon tests with bootstrap confidence intervals, Grad-CAM interpretability and synthetic-distortion physics validation.
February 2024 to present

ChefBot, a cooking assistant for ChatGPT (personal project)

  • Built and deployed a cooking assistant on ChatGPT, first as a GPT (25,000+ conversations and a 4.7 rating from 100+ ratings on the GPT store listing, September 2026; conversations, not people), then as a plugin with 18 skills and 7 tested scripts (October 2026).
  • Designed the multi-step tool-calling and retrieval flows that turn sparse fridge or pantry inputs into a recipe, and iterated the prompts and logic on usage data.
2026 to present

AI Zuzi, a client platform engineered through NeuralTake

  • An AI social-media management and content platform for a client company, taken from prototype to production: Django, React and PostgreSQL; publishing to Meta, YouTube, TikTok, Pinterest, Threads, LinkedIn and Google Business Profile, with WordPress blog publishing; generation, Stripe payments and multi-factor sign-in. About 50 business users (stated September 2026).

NeuralKite, acquisition-target intelligence for fragmented UK private markets

  • Built a live product that maps private companies, scores targets against an acquisition thesis and produces decision-ready dossiers, around an email discovery and verification engine written at socket level. Next.js and TypeScript, Prisma and PostgreSQL, Claude agents on the Anthropic SDK, a self-hosted warehouse with a 2.8-million-company Crunchbase dataset. Customer and usage figures not published.

Open source

Fuller notes on each fix, and how it was found, are on the open-source page.

September to November 2026

FinancePy (opens in a new tab), a derivatives-pricing library: twenty-four pull requests merged

  • Fixed the Bjerksund and Stensland American option pricer, which divided by zero at a zero dividend yield and fell below the European price near it; the fix returns the European value when early exercise is never optimal and floors the approximation at the European bound. Pull request (opens in a new tab)
  • Made date-schedule generation repeatable: a second call stepped back from the adjusted maturity date and shifted every coupon date whenever the maturity fell on a weekend or holiday, which reached bonds, cross-currency swaps and cliquet options. Pull request (opens in a new tab)
  • Rewrote the forward-start option, which could not be constructed, and verified it against the Rubinstein closed form and the library’s cliquet option. Pull request (opens in a new tab)
  • Corrected two FX option error paths that raised a Python type error instead of the library’s own error. Pull request (opens in a new tab)
  • Fixed four of the six Monte Carlo pricing methods, which returned NaN for every input because they passed the option type where the model expects the interest rate. Pull request (opens in a new tab)
  • Fixed the variance-swap fair strike, which was too high by twice the dividend yield and crashed on large strike grids, and verified it against the Demeterfi, Derman, Kamal and Zhou replication. Pull request (opens in a new tab)
  • Made the FX variance swap price at all, fixed the same dividend defects as the equity version, and corrected realised variance in both classes to divide by the number of returns rather than the number of observations. Pull request (opens in a new tab)
  • Fixed the FX double digital option, which discounted a domestic payout at the foreign rate and valued a foreign payout with the wrong probability term, and tested it against the difference of two single digital options. Pull request (opens in a new tab)
  • Made the FX rainbow option price at all, corrected its correlation, which ignored the second rate, and repaired FX option rho, which raised an error for every product that inherits it. Pull request (opens in a new tab)
  • Fixed the SABR volatility formula, which overwrote one minus beta with another term, so smiles were exact at the money but wrong in the wings by up to two volatility points; tested against the exact Bachelier limit. Pull request (opens in a new tab)
  • Repaired the swaption volatility surface, whose calibration report and printed summary always raised an error and whose fixed-beta SABR fits started from a degenerate point. Pull request (opens in a new tab)
  • Fixed the credit default swap premium leg, which accrued the first coupon over the following period rather than the current one and, in the final coupon period, read past the end of its accrual factors and returned a negative risky PV01. Pull request (opens in a new tab)
  • Made the CDS index spread adjustment do something: its calibration loop never ran, so the issuer curves came back unchanged, and once entered it called a method that no longer existed. Pull request (opens in a new tab)
  • Corrected the sign of a pay-fixed forward rate agreement, which lost value when the forward rate rose, the opposite of a pay-fixed swap on the same curve. Pull request (opens in a new tab)
  • Fixed floating-rate note pricing from a discount margin, which crashed unless accrued interest had been computed first and otherwise reused a stale coupon period. Pull request (opens in a new tab)
  • Aligned the US Treasury yield convention in a bond’s final coupon period with the Treasury formula, which uses simple interest over the fractional period; the library compounded there, so the convention switched once a bond entered its last period. Pull request (opens in a new tab)
  • Fixed the Gatheral and Weber Heston pricers, which returned negative call prices at long maturities when the variance is mean-fleeing under the share measure; the formulas were sound and the quadrature was missing a boundary layer near zero frequency, so both now integrate in the logarithm of the frequency. Pull request (opens in a new tab)
  • Fixed the forward risky PV01 in the Anderson CDS index option pricer, which took the previous coupon date from after option expiry and dropped the first coupon; the two errors nearly cancelled at the forward spread but gave the wrong spread dependence inside the lognormal integral. Pull request (opens in a new tab)
  • Kept the value-date node in the survival curve built by the one-factor Gaussian basket pricer, which had overwritten it with the first payment date and so placed a default mass at the value date; a one-name basket now reprices its own CDS exactly. Pull request (opens in a new tab)
  • Fixed FX double one-touch and double no-touch options when the spot is on or beyond a barrier: a knocked-out no-touch paid the full amount and a one-touch sitting on its barrier paid nothing. Pull request (opens in a new tab)
  • Fixed perpetual bond pricing off a sloped discount curve, which valued the tail at the spot rate and was 12 per 100 high for monthly coupons, and let annuities use the ACT/ACT ICMA day count. Pull request (opens in a new tab)
  • Fixed the large homogeneous portfolio tail probability, which applied the normal density where the formula needs the inverse distribution function and then returned the loss distribution instead of its complement; at a 5 percent loss level it gave 0.46 for a probability of 0.086. Pull request (opens in a new tab)
  • Made the composite discount curve return a float for a scalar time, as every other curve does, instead of a one-element array. Pull request (opens in a new tab)
  • Made all six classes in the rates swaps package constructible and valuable: three could not be built, the two float-float basis swaps priced both legs from a schedule the constructor never created, and the fixed-leg classes crashed on a fresh object or a seasoned date; both kinds now reprice the library’s own basis and vanilla swaps to 1e-10 from forward start to maturity. Pull request (opens in a new tab)
September 2026

vectorbt (opens in a new tab), a backtesting library: two pull requests merged

  • Fixed the deflated Sharpe ratio, which used excess kurtosis where the Bailey and López de Prado formula requires raw kurtosis, and which counted missing returns as zero-return periods. Pull request (opens in a new tab)
  • Made the Numba and Rust engines agree on expanding windows shorter than the minimum period, matching pandas. Pull request (opens in a new tab)
September and October 2026

skfolio (opens in a new tab), a scikit-learn-compatible portfolio-optimisation library: four pull requests merged, two under review

  • Under review: a parametric portfolio policy estimator after Brandt, Santa-Clara and Valkanov (2009): weights as a linear function of characteristics, fitted by maximising realised CRRA utility, with long-only and transaction-cost variants. Pull request (opens in a new tab)
  • Merged: online learning for the Schur complementary allocation, so it can be updated in a stream. The maintainer extended it with spectral seriation, released it in skfolio 1.8.4 and credits me in the source file. Pull request (opens in a new tab)
  • Merged: a bias fix in the regime-adjusted covariance estimator, whose short-term volatility multiplier was normalised by the square root of the asset count rather than by the expected chi statistic, understating variance by a third for a single asset; the maintainer confirmed the argument and measured better next-day variance forecasts on 2011 to 2022 stock data. Pull request (opens in a new tab)
  • Merged: information criteria for the univariate marginals now count only estimated parameters, so a distribution with a fixed location or scale is no longer penalised for parameters it did not fit when the library selects a marginal. Pull request (opens in a new tab)
  • Merged: walk-forward splits with a negative calendar offset dropped the last rebalancing date, because the anchor range was extended on the start side but not the end; the fix mirrors the start-side adjustment. Pull request (opens in a new tab)
  • Reported and prototyped a fix for the Student-t copula distribution function, which was computed by Monte Carlo and so varied between calls and lost accuracy in the tails; the maintainer thanked me for the finding and shipped a deterministic integration, together with a joint survival method, in his own pull request. Pull request (opens in a new tab)
  • Under review: a rolling-window multi-factor exposure estimator with gap-tolerant lags. Pull request (opens in a new tab)

Skills

Technical
Python, SQL, PyTorch, scikit-learn, pandas, NumPy, Matplotlib, NiBabel; Django, PostgreSQL, TypeScript, React, REST APIs, GCP, Playwright, CI/CD, Git/GitHub
Languages
English (native), Polish (native, bilingual)
Certifications
Bloomberg Market Concepts; Thomson Reuters Eikon v4

Facts on this page are as stated on the CV supplied in September 2026; the RSNA competition entry and the two automated content pipelines are on the index of works. A PDF and references are available on request.