honest reason.

Projects

Independent project

An agent for modeling research

An AI agent for Numerai research that proposes experiments, runs training code, evaluates out-of-sample performance, and uses the results to choose what comes next.

What I built

I developed an agent that connects several parts of the modeling workflow: proposing an experiment, executing the training code, evaluating its performance on data outside the training sample, and using that evidence to guide another experiment. The project applies agentic systems to Numerai modeling research.

The interesting problem

Once a system can run its own experiments, the quality of its decisions matters as much as its ability to write code. A better score needs an explanation: what changed, what was held constant, and how much confidence should the result earn? Those questions make research automation an evaluation problem as well as an orchestration problem.

Questions worth exploring

  • How should an agent distinguish a useful result from noise?
  • What experiment history should it retain, and when should it stop exploring?
  • AI agents
  • Experimentation
  • Numerai
Independent project

Structured data from PDFs

Extracting structured information from PDFs using InternVL2 and Mistral.

What I built

I used InternVL2 and Mistral to extract structured data from PDFs. The task sits between document understanding and data engineering: information presented for a person to read has to become something another program can use.

Why the format matters

In a document, layout can carry meaning alongside the words. A value may depend on the heading above it or the row and column around it. InternVL2 provides a multimodal approach to working with visual and textual information. For an extraction system, a well-formed output is only part of the job; the values also need to agree with the source document.

Questions worth exploring

  • How should an extractor represent missing or ambiguous information?
  • How can each extracted field be checked against its source?
  • Multimodal models
  • Document extraction
  • InternVL2
  • Mistral

Further reading

Independent project

Training word embeddings

Training a continuous bag-of-words model on the New York Times Corpus to learn vector representations of words.

What I built

I trained word embeddings on the New York Times Corpus using a continuous bag-of-words model. This project worked directly with a foundational language-modeling approach: learning numerical representations of words from the contexts in which they appear.

The method

Continuous bag-of-words uses surrounding words to predict a target word. Training that prediction task produces word vectors that can be compared in a shared space. It is a compact way to examine how statistical patterns in text become useful representations. The corpus matters: vectors learned from newspaper writing reflect the language and coverage of that collection.

Questions worth exploring

  • Which word relationships are captured well, and which are missed?
  • How do vocabulary choices and the context window change the representation?
  • NLP
  • Word embeddings
  • CBOW

Further reading

Independent project

Topics over Time

An expectation-maximization adaptation of Wang and McCallum’s Topics over Time model, applied to U.S. presidential State of the Union addresses.

What I built

I implemented an expectation-maximization adaptation of the Topics over Time model introduced by Wang and McCallum in 2006. I applied it to U.S. presidential State of the Union addresses, a collection in which both the language and the date of a speech matter.

The method

Topics over Time models word patterns together with document timestamps. A topic has both a distribution over words and a distribution over time, allowing temporal information to help identify topical structure. The distinction is useful: discovering topics with dates included is a different task from finding topics first and plotting them on a timeline afterward.

Questions worth exploring

  • How sensitive are the topics to preprocessing and the number of topics chosen?
  • How should a reader distinguish an interpretable pattern from a historical explanation?
  • Probabilistic models
  • NLP
  • Expectation maximization

Further reading

Independent project

Recognizing dog breeds

A dog-breed image classifier built with PyTorch, ResNet, and transfer learning.

What I built

I built a dog-breed classifier using PyTorch, a ResNet architecture, and transfer learning. The task is fine-grained image classification: assigning an image to a breed, where the differences between classes can be subtle.

The method

Transfer learning adapts an existing model to a new task. ResNet uses residual connections to make deep networks easier to train. Together, these provide a practical foundation for an image-classification project. The evaluation questions are concrete: whether the model recognizes useful visual features, how it behaves across different kinds of photographs, and which breeds it tends to confuse.

Questions worth exploring

  • Which errors come from similar-looking breeds, and which come from the photograph itself?
  • How should the classifier handle an image outside its intended set of breeds?
  • Computer vision
  • PyTorch
  • ResNet
  • Transfer learning

Further reading