Driver and DIY Host for building a flashlight with continuously variable user interface

Hi,

For DIY projects, Are there any flashlight hosts that support a continuously variable interface, other than modding the obvious choices of those lights that are produced with such capabilities (such as Sunwayman V11r or v25c)? Most interested in those hosts that take single or dual 16350s or single 18650s batteries.

If such DIY hosts are available, are there drivers that support the continuously variable modes?

Thanks!