Open-source project
faridrashidi/kaggle-solutions avatar
faridrashidi/kaggle-solutions

kaggle-solutions: A Searchable Archive of Kaggle Competition Winners

🏅 Collection of Kaggle Solutions and Ideas 🏅

6,527 stars2,349 forksAstroMIT

At a glance

What is it?
kaggle-solutions is an Astro-based static site that collects winning solutions, discussion threads, code notebooks, and videos from hundreds of Kaggle competitions. It is aimed at data scientists and machine learning practitioners who want to study how top finishers approach specific problem types without manually searching the Kaggle forums after each competition ends.
Who is it for?
kaggle-solutions is a useful starting resource for a machine learning practitioner who wants a single browsable index of Kaggle competition approaches organized by category. It is not a substitute for the original Kaggle forums, and the README acknowledges that the links point outward rather than hosting solution content directly.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 25 days ago.
What is it written in?
Mainly Astro, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 30, 2026, and from our analysis. They are not legal advice.

Editorial analysis

What kaggle-solutions Provides and Who Uses It

kaggle-solutions is a curated collection of links to solutions, discussion threads, code notebooks, videos, and educational content from Kaggle competitions. The README describes it as covering winning solutions from top performers across hundreds of competitions, organized so a learner can browse by competition type or search for specific techniques.

The site addresses a real friction point in Kaggle learning. After a competition ends, winning solutions are posted in the Kaggle forums, but the posts are scattered, difficult to search across competitions, and not organized by technique or problem domain. kaggle-solutions aggregates those links into a browsable interface at kaggle.farid.one.

The intended users are two groups. The first is beginners looking to study how winning approaches work across different competition types: computer vision, NLP, tabular data, time series. The second is experienced competitors who want to compare approaches across past competitions before entering a new one. The README lists both explicitly.

The repository is built with Astro, a static site framework. Competition data lives in `data/competitions.yml`, which keeps content separate from the frontend stack. Helper scripts in `scripts/` can update that file independently of the Astro frontend.

How the Repository Is Organized

The repository structure separates content from code. Competition data is stored in `data/competitions.yml`. The Astro frontend in `src/` reads that file and generates the static site. The `scripts/` directory contains helper tools for maintaining the data file. The `public/` directory holds static assets.

The README categorizes competition content into five types: winning solution write-ups and code repositories, insightful discussion threads from competition forums, high-quality notebooks and kernels, tutorial videos and blog posts analyzing competitions, and competition metadata such as evaluation metrics and dataset characteristics.

For each competition the site covers, a reader can expect to find links to the most valuable post-competition discussions, typically the first-place solution write-up and the most upvoted kernels. The README's Suggestions section provides a study framework: understand the evaluation metric first, then read leaderboard analysis, then solution discussions, then examine ensemble strategies.

Forks are a first-class workflow. The README describes how to fork the repository and get a personal version at a GitHub Pages URL. A fork can hold personal notes, additional solution links, and customizations. The Astro build produces static files, so a fork can deploy to Cloudflare Pages, Netlify, or Vercel without modification.

Running the Site Locally and Forking for Personal Use

The site runs locally with two commands:

bash
npm install
npm run dev

Node.js 22.12.0 or higher is required, as declared in the `engines` field of package.json. The development server uses `astro dev`. A production build runs `astro build` followed by a postbuild script at `scripts/postbuild.mjs`.

To create a personal fork: 1. Click the Fork button on the GitHub repository page. 2. The forked version is available at `https://<YOUR_USER_NAME>.github.io/kaggle-solutions`. 3. Add notes and solution links in Markdown format. 4. Submit pull requests back to the main repository to contribute missing solutions.

The contribution guide asks contributors to verify that links are working and point to relevant content, follow the existing Markdown format, provide context when adding new resources, and check for duplicates before submitting. The quality bar is practical: working links to genuinely valuable competition content.

The competition data in `data/competitions.yml` is the central file to update when adding or correcting competitions. The helper scripts in `scripts/` are designed to update this file without requiring changes to the frontend stack.

What the Repository Covers and What It Leaves Out

The README describes the repository as covering computer vision, NLP, tabular data, and time series competitions. It focuses on Kaggle-hosted competitions specifically, not broader machine learning research competitions or benchmarks from other platforms.

The content is link-based rather than self-contained. A reader following a solution link leaves the site and goes to Kaggle's forums, a GitHub repository, a YouTube video, or a blog post. The repository does not host solution code, notebooks, or datasets directly. This means the archive's usefulness depends on the linked content remaining accessible at its original location.

The README acknowledges that the repository is regularly updated as competitions conclude. What it does not describe is which competitions are missing or what the coverage gap looks like for very recent events. A practitioner studying a competition that ended recently may find it is not yet indexed.

The study framework in the README is a useful guide for how to use any past competition as learning material, not just those indexed in this site. It covers understanding the business problem, studying the evaluation metric, analyzing the leaderboard profiles, reading solution threads, and examining ensemble and validation strategies. This meta-guidance is the most opinionated part of the README.

Limitations of a Link Aggregator Model

The link aggregator approach has a specific failure mode: link rot. Solution discussions posted on Kaggle several years ago may have moved, been deleted, or become inaccessible. The contribution guidelines ask contributors to verify that links are working, but there is no automated dead-link detection described in the repository.

A second constraint is coverage. The README describes the site as claiming to be the most comprehensive collection of Kaggle solutions, but coverage depends on community contribution. Niche competitions with few post-competition solution posts, competitions outside the English-language Kaggle ecosystem, or competitions that concluded before the repository began tracking may have thin or absent entries.

A third issue is that the linked notebooks, kernels, and discussion threads reflect a specific moment in the competition's lifecycle. Techniques that were state-of-the-art when a 2020 competition concluded may have been superseded. The archive makes no claim about temporal relevance; a reader has to apply that judgment themselves.

For practitioners who want self-contained reproductions of winning pipelines rather than discussion links, the Papers With Code benchmark pages and the official Kaggle solution sharing threads are complementary resources. kaggle-solutions points to those threads but does not replace them.

Maintenance, License, and Stack Notes

The last push to the repository was on 2026-09-06. The project version is 2026.9.5, indicating a date-based versioning scheme that suggests regular updates tied to competition conclusions. The repository is not archived.

The license is MIT, covering the Astro application code. The linked competition solutions, notebooks, and discussions are external content under their own terms.

The Astro framework choice is worth noting for contributors. The site builds to static files, which keeps hosting simple. The `@astrojs/sitemap` dependency generates a sitemap for search engine indexing automatically on each build. The TypeScript configuration and Astro's type-checking tooling are in place via `astro check`, which the package.json scripts include.

A developer who wants to contribute to the site's code rather than its content would work in the `src/` directory with standard Astro patterns. The data layer in `data/competitions.yml` is the main target for content contributors. The README asks contributors to open an issue first if they have questions before submitting a pull request.

Editorial conclusion

kaggle-solutions is a useful starting resource for a machine learning practitioner who wants a single browsable index of Kaggle competition approaches organized by category. It is not a substitute for the original Kaggle forums, and the README acknowledges that the links point outward rather than hosting solution content directly. Before relying on it heavily, verify that the competition you are studying has been updated in the `data/competitions.yml` file, since the site reflects what has been submitted to the repository rather than every concluded Kaggle competition.

Frequently asked questions

Does kaggle-solutions host solution code or notebooks directly?

No. The repository aggregates links to external solution write-ups, discussion threads, notebooks, and videos posted on Kaggle and other platforms. A reader follows links to the original content. The repository itself stores competition metadata and links in data/competitions.yml.

How do I add a missing solution to kaggle-solutions?

Fork the repository, add the solution link to the appropriate competition page in the correct Markdown format, verify the link is working, and submit a pull request with a clear description. The README asks contributors to check for duplicates before submitting.

Can I run a private version of kaggle-solutions with my own notes?

Yes. The README describes forking the repository as the intended workflow for a personal copy. A forked version is available at a GitHub Pages URL under your username. The Astro-based site builds to static files that can also deploy to Cloudflare Pages, Netlify, or Vercel.

Official sources

  1. faridrashidi/kaggle-solutions on GitHub
  2. Issues
  3. License: MIT
  4. Project website
  5. README
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/faridrashidi-kaggle-solutions.svg)](https://hysenlabs.com/projects/faridrashidi-kaggle-solutions)