Hand-Wavy Projects

These are some of my “hand-wavy” project ideas which are more or less off-the-top-of-my-head sort of things. They may be proved to be impractical/already explored and dimmed to be not-so-good or may turn out to be a good development experience if one ever gets into it. Some of these I’ll attempt, some, though feasible, may turn out to require decades of expertise to accomplish, hence I am noting them down here as a vague to-do list. (I may have conducted some research, in the form of a deep research search or just normal querying an LLM).

DSL with ownership model for SASS

Following the explosion of GPU usage, and inspired by the engineers of deepseek (where they seem to have bypassed CUDA to obtain further optimizations, before which I wasn’t even aware of SASS), the first thing that came to my mind was an explicit ownership model for SASS. Given that memory usage patterns where different for SASS (and PTX, the vitual machine), it kind-of makes sense to extend the ownership model for more safety. A more easier approach would be to simple make Rust bindings for CUDA or PTX, but that’ll also be slower. Though on the other hand, writing a language for SASS with ownership model seems extremely hard (as I imagine the making of any general purpose programming language is), especially if one would want non-expert personnel like developers and researchers to use it. There are Rust libraries for CUDA, though I am not sure if any bypass CUDA and deal directly with SASS.

Dependantly Typed Databases

Dependant type theory may just as well be one of my favourite topics in programming language overall. Languages that can express extremely complex types can in theory represent any state one can come up with- while also representing a proof about invariants: we can be certain our program will never reach a buggy state if it simply compiles. Naturally one can re-make all of software in a language that has dependant types. One specific use case that I thought could really use dependant types was databases, especially to encode various business workflows in a concept I call workflow-as-a-type, wherein we are given strong guarantees of the state of our database. This again is a non-trivial project. Creating a database from ground-up is infeasible (at least for me), hence a more sensible approach would be to create a postgres extension.

Self-Modifying Software Interface

This could eventually be AI slop, but nonetheless, if one wants to over-rely on LLMs, this could be a prime example of it. In simple words, design one’s front-end in such a way where desirable components can be changed more or less frequently and programmatically (here I mean not by a developer). Basically this app starts with a very plain look, and gradually adopts the user’s preferences (primarily through user interactions, like clicks and time spend on a certain page), and makes subtle changes to the UI while taking into account it’s observations. My idea was for LLMs to gain access to the user’s actions, and make these changes. This seems more like a feature that any website can use, rather then a thing in and of itself. (To be fair, most users would get used to the design nonetheless. Though we can find specific domains where this can be useful).