there were two approaches to do this:
1) use NIP-26 to create a delegation token to sign the note at the exact time
this was my preferred option and I wrote a bunch of code to make this happen.
https://github.com/getAlby/lightning-browser-extension/pull/2063
https://github.com/nostr-protocol/nips/pull/222
Implemented NIP-26 on damus

But there are some important issues
a) lack of relay and clients support
very few clients support NIP-26, meaning that the scheduled note would go unnoticed by most people
and few relays support it, meaning that the note wouldn't even be served
b) lack of constraints to delegation token
the NIP right now supports only limiting the scope of the `created_at` and `kind` -- this is
way too broad, since that means someone with the delegation token can write anything in `content`,
create as many events as they wish, tag as many people as they'd like
I started introducing a PR for NIP-26 to limit the scope of the `content` to a specific value but 🤷♂️
and c) no revocation of the delegation token
solution 2) pre-sign all possible events
this is less than ideal but there is no potential for abuse (other than publishing all signed notes but
that would be an absurd attack since you can't tag anyone with it nor change the content)
of course, since time is seemingly infinite, you can't sign *all* possible events, so need to limit
the from and to of the period and the frequency at which events will be generated; nostrit.com provides some sane defaults and makes it configurable.
Overall, I like NIP-26 much better than this solution (and this solution forces me to store a lot of
pre-signed events that I'm purging when their created_at falls in the past); NIP-26 would make this much easier
but until we have better support in the protocol and in relays and apps, this is a solution.