🚀 Project Ideas
Generating project ideas…
Summary
- Provide first‑class length‑indexed types for NumPy arrays and PyTorch tensors via a Python wrapper and a mypy plugin.
- Eliminate shape‑related bugs in data pipelines and GPU kernels without leaving Python.
- Core value: dependent‑type length tracking accessible to everyday Python developers.
Details
| Key |
Value |
| Target Audience |
Python data‑science / ML practitioners |
| Core Feature |
Array[T, n] type where n is a compile‑time integer length; functions return new length‑preserving types. |
| Tech Stack |
Python 3.12, mypy plugin API, NumPy C‑API, PyTorch C++ bindings, optional Cython for speed. |
| Difficulty |
Medium |
| Monetization |
Hobby |
Notes
- HN commenters repeatedly mention wishing for compile‑time length guarantees in dynamic arrays (e.g.,
argv: Vec<T, argc>). This library would give them that guarantee in Python.
- Aligns with Pyrefly’s shape‑hinting ambitions and would reduce the need for manual shape comments across notebooks.
- Potential for community adoption in Jupyter, scientific Python, and GPU‑accelerated workflows.
Summary
- Introduce const‑parameterized array types that encode runtime lengths at kernel launch time, preventing mismatched dimensions.
- Offer ergonomic APIs for matrix multiplication, reductions, and element‑wise ops that the compiler can verify.
- Core value: zero‑overhead safety for CUDA kernels written in Rust.
Details
| Key |
Value |
| Target Audience |
Rust developers building high‑performance GPU code, ML researchers using CUDA |
| Core Feature |
Kernel signatures like fn matmul<const N: usize, const M: usize, const K: usize>(A: &[T; N][M], B: &[T; M][K]) -> [T; N][K] that the compiler checks. |
| Tech Stack |
Rust 1.78+, cust crate for CUDA binding, bindgen for header generation, const generics and generic const features. |
| Difficulty |
High |
| Monetization |
Revenue-ready: $50/mo enterprise support |
Notes
- Echoes Ethan Lipson’s desire for “
concat(Vec<T, n>, Vec<T, m>) -> Vec<T, n+m>” style guarantees in GPU code.
- Would let Rust users achieve the same safety guarantees as Futhark or C++ template tricks, but with simpler syntax and better error messages.
- Opens a pathway for commercial consulting around safe GPU kernels in sectors like finance and scientific computing.
Summary
- Detect and report shape mismatches across notebook cells automatically, using incremental shape tracking.
- Offer actionable warnings (e.g., “matrix multiplication expects (n, m) but got (p, q)”).
- Core value: prevent common ML bugs without leaving the notebook environment.
Details
| Key |
Value |
| Target Audience |
Data scientists and ML engineers using Jupyter notebooks |
| Core Feature |
Cell‑level shape propagation: variables carry inferred shapes; execution aborts on invalid operations. |
| Tech Stack |
Python kernel gateway, TypeScript front‑end for UI, integration with Pyrefly’s shape‑analysis library, optional MLIR backend for advanced inference. |
| Difficulty |
Medium |
| Monetization |
Revenue-ready: Freemium SaaS – team plan $15/user/mo |
Notes- Directly addresses a‑inch’s observation that “ML people all have their own schemes for tracking shape information” and the pain of manual shape comments.
- Would be a natural extension of Pyrefly’s roadmap, giving notebook users the same safety guarantees.
- Sparks discussion on open‑source vs. commercial models for notebook tooling and could become a staple in collaborative ML workflows.