Posted by david927 3/30/2025
Ask HN: What are you working on? (March 2025)
It's an AI-powered relationship coach supported by an specialized AI swarm following integrative therapy principles. It started off by me thinking "how would an AI relationship therapist work if they could see both sides of an argument" to me reading up a lot about integrative therapy, experimenting with various AI agent architectures and landing on this approach now.
I'm pretty happy now with how it works. Even my wife, which is not really into AI and is a coach herself is using it regularly.
Since it's strings, I just render to file for backend static site generation, then frontend I use diffDom library to do efficient (enough) updates from html string without destroying dom state.
It works really well, but I also don't allow inline event listeners (they make everything much harder), so I've been learning how to leverage event delegation. All in all a pretty fun side project.
1. Async and conditional effects without hopping component boundaries with switchMap
2. React.Context ritual vs oneliner `pipe(shareReplay)` - this is easily the most useful thing, in lines of code alone
3. React is used shallowly for jsx and html, and rxjs is used for events and state and quite literally everything not writing to the dom.
4. Lazy by default, no need for suspense bc it's inherit property of observables.
5. Merge and combineLatest give you algebraic tools for constructing your logic instead of stringing components down a subtree
6. Scan but that's just inline redux reducer but I use it all the time
7. Observables are on standards track for HTMLElements in browser. - element.when('click').map/filter/takeUntil etc.
I view react as promises--. You have to do wildly hacky things using custom API ideas that change between majors, can only use sync functions, yet all your logic is async. It's like the function coloring problem on steroids.
The maiden voyage of my blog will be soon, it's first big write up will be the test page for this jsx transform, then I'm gonna be writing a field guide for how to translate between react and rxjs.
Incredibly good reference imo: https://dev.to/mfp22/rxjs-can-save-your-codebase-49fi
Tried to make this concise but I'm on mobile
1. Hardware a. Trying to create my own mechanical keyboard: already modeled, how finding a suitable printer. b. Waiting for a display to arrive so I can wire into my digital calendar. c. Waiting my modem HAT to arrive to go to phase 2 of my self hosted server.
1. Software a. Preparing my next blog post. b. Working on my distro.
References:
- Blog: https://blog.terminal.pink - Distro: https://terminal.pink/lin0/tree/index.html
NB: I know my certificate expired.
The theory seems to check, but I can't/won't be convinced until the tools based on it are complete and working without friction or exception. Many times it has felt like I was tilting at windmills, but every challenge eventually caved.
An epic (for me) black triangle moment approaches! (Discovered that term here on HN.) An algorithmic triad the color of space without light is a poetic, but not misleading description.
Wish me luck!
On the business side, things seem to be well lined up.
So my apologies for being indirect. Not trying to be "mysterious".
I just favorited your comment. So at any moment I feel I can be more straightforward I will reply to any comment you make in any other thread. That will be a good moment too.
I tried to make the dashboard experience really seamless and even used a physics engine in there. I think I did achieve this though, but I ended up spending more time on the UI than the dashboard contents. IMO infinite canvas UIs are not utilized enough.
Try it out and tell me what you think. Currently, it only shows what I put up there.
Currently in progress of implementing DevOps AI which will configure properly your deployment based on the source code.
- [1] https://dollardeploy.com