I've started doing programming language research, specifically in three topic areas:
1. How to tamp down program complexity by compartmentalizing side effects? Are hexagonal architectures, monads, and algebraic effects the best ways? What are their pros and cons and are there other potential candidates?
2. How would abstract concepts like data structures and architectural structures be reified visually? Is there a Tufte for data structures? Do they actually help in understanding a program?
3. Is it possible to run programs on a remote machine you don't control and be assured that it was executed correctly?
If there's anyone else that's looking along these three avenues or even tangentially related to local-first software, tools for thought, or dynamicland, I'd be happy to trade notes on interesting areas.