- Tiny 3D worlds from street photosThree playful 3D models of a Paris street corner, generated from one to three photos.
- Building a navigable 3D Paris with public transitA 3D model of Paris with its metros, buses and road traffic, built with Fable 5.2 from open data.
- The new bottlenecks in tech projectsWhen AI speeds up building internal tools, delays move to product decisions and deployment.
- Letting AI agents run a large websiteHow AI agents update a large website every night, and what I still review myself.
- From decks to one-off micrositesUsing Claude to turn a slide deck or an outline into an interactive web page.
- Building a 3D atlas of Paris as model benchmarkSeven models given the same prompt to build a 3D map of Paris buildings, and how they compare.
- A personal data scientist for every employeeHow an AI agent connected to a data warehouse can answer employees' data questions.
- Why I switched from Claude CLI to Claude DesktopWhy I moved from the Claude command line to the desktop app for my daily work.
- Will taste save us?Claude Fable 5 building a sentiment map of a text on its own, and the question of taste.
- Which AI are we talking about?AI built into existing tools, and AI that lets business teams build their own tools.
- We’re all becoming managersAs agents take on more of the execution, my work shifts to framing, delegating and reviewing.
- AI isn’t the junior you were promisedUsing an LLM as a senior colleague rather than a junior assistant, on a data science project.
- The prompt is the new styleAsking an LLM to write like Huysmans or Zola from a description of their style.
- AI features on US news sitesHow the Wall Street Journal and the Washington Post use AI on their articles and comments.
- Benchmarks versus everyday use of new modelsKeeping a list of tasks AI fails at, and trying them again with each new model.
- A graphic designer who switched to AIHow a graphic designer now uses AI image generation in her work for clients.
- YouTube's Ask button and AI in Google productsThe Gemini button for asking questions about a YouTube video, and Google's AI features in general.
- A study of LLM usage across 100 trillion tokensNotes on an OpenRouter study of how language models are used, based on 100 trillion tokens.
- The AI newsletters I readThe AI newsletters I follow, from general news to more technical ones.
- LLMs can't do arithmeticTesting GPT-4o and o1-mini on multiplying large numbers, and why language models get it wrong.
- My method for complex code changes with an agentThe steps I follow to make large code changes with a coding agent.
- How AI coding agents changed the way I workHow my work changed, from code autocomplete to chat in the editor to coding agents.
- Voice recognition changed how I thinkHow dictating to ChatGPT changed the way I explore ideas.
- Evaluating AI-generated text before deploymentWays to evaluate AI-generated text before deploying it: human review, metrics and LLM judges.
- From prompt engineering to context engineeringWhy the context given to a model matters more than the wording of the prompt.
- Prototyping LLM projects in AI Studio, the Playground or the ConsoleUsing model playgrounds to compare models and settings before writing code for an LLM project.
- LLMs trained on synthetic dataHow Prime Intellect generated reasoning examples with DeepSeek-R1 to train other models.
- Summarizing YouTube videos with NotebookLMGetting a short summary of a YouTube video with NotebookLM.
- Diagrams as code with Mermaid and ClaudeAsking Claude to write Mermaid diagrams from a plain-language description.
- Chatbot Arena, a crowdsourced ranking of LLMsHow Chatbot Arena ranks language models from blind votes on their answers.
- Echo writing to make LLMs write like youPrompts to have an LLM describe your writing style and write in it.
- The five layers of the AI industryAndrew Ng's description of the AI industry as five layers, from chips to applications.
- Five takeaways from the State of AI 2024My notes on the State of AI 2024 report.
- Claude Artifacts and home-cooked softwareA multiplication game made for my daughter with Claude Artifacts, and software for one household.
- Prompt wording matters less with larger modelsA 2024 study on how much the wording of a prompt affects the answers of large models.
- NotebookLM for digging into dense topicsHow I use NotebookLM to read and ask questions about long reports and papers.
- Synthetic Control MethodBuilding a counterfactual from comparable units with the synthetic control method, in Python.
- Alpha-spending functions for sequential testingUsing alpha spending functions to stop an A/B test early, with an example in Python.
- Interrupted Time SeriesMeasuring the effect of an intervention on a time series with segmented regression in Python.
- Regression DiscontinuityEstimating a treatment effect at a threshold with regression discontinuity, in Python.
- Chi-squared testComparing two proportions with a chi-squared test in Python, and how it relates to the Z-test.
- Bayesian hypothesis testingRunning a Bayesian A/B test in Python with a Beta-Binomial model.
- Use LLMs within BigQueryCalling Gemini from BigQuery SQL to analyze restaurant reviews.
- Time series forecasting with BigQuery MLForecasting Vélib bike availability with an ARIMA_PLUS model in BigQuery ML.
- Performance metrics of ML modelsDefinitions and formulas of the usual metrics for classification and regression models.
- Non-parametric statistical testsWhen to use non-parametric tests, with Mann-Whitney U and Kolmogorov-Smirnov in scipy.
- Training: introduction to SQLA two-hour introduction to SQL for beginners, as a notebook on Google Analytics data.
- How I use live open data for Paris VélibThe Google Cloud pipeline I use to collect live Vélib station data into BigQuery.
- AI-generated 1990s adventure video gameA plot and screenshots for an imaginary 1990s adventure game, made with ChatGPT and MidJourney.
- Aggregate small cohorts for A/B testingWhen cohorts that started on different days can be pooled into a single A/B test.
- Difference-in-differences methodEstimating a causal effect with difference-in-differences in Python, using statsmodels.
- Efficiently visualise clusters by featuresWays to describe clusters by their features, from a fraud detection project.
- Bootstrapping for A/B testingEstimating a p-value for a conversion rate by resampling users, in Python.
- Calculate the sample size for A/B testingFormulas and Python functions to compute the sample size of an A/B test.
- Delta Method for A/B testingUsing the delta method for the variance of ratio metrics in A/B tests, in Python.
- Reduce required sample size with CUPEDHow CUPED uses pre-experiment data to reduce variance in A/B tests, with a Python example.
- Estimate consumers lifetime valueEstimating customer lifetime value in Python with the BG/NBD and Gamma-Gamma models.
- Frequentist A/B testing cheatsheetDefinitions, formulas and Python code for t-tests and z-tests in A/B testing.
- Assign XP groups with hash functionsAssigning users to experiment groups with a hash function, in Python, Redshift and BigQuery.
- Compare algorithms for time series predictionA comparison of statistical and deep learning models for forecasting daily temperatures.
- Analyze Google Analytics 360 raw logsSQL queries for common analyses on the raw Google Analytics 360 export in BigQuery.
- Calculate confidence intervals in PythonComputing a confidence interval for a mean in Python, by hand and with scipy.
- Public Wifi in Paris: how touristic is the city?An analysis of connections to the free public wifi in Paris, and what it says about visitors.
- Causes of aircrafts crashes since 1908A text analysis in R of 5,000 plane crash summaries since 1908, looking at their causes.
- Visualising Google location historyMapping four years of my Google location history around Paris with R.
- How old did French kings live?A chart of the ages at which each French monarch reigned, made in R from Wikipedia data.
- French baby names evolution since 1915How French first names have changed since 1915, from the national registry, analyzed in Python.












































