Improving Type Safety in Client-Server with Effect

What is the recommended (and streamline) way of having a type-safe client+server using Effect?
Right now, I have one schema file per "entity" where I define the different types of schemas.
Then I maintain a client, that imports and uses those schemas, and a little wrapper around Astro routes (that I don't like much) to ensure I return and enconde the same values.
This is not very ergonomic, and I am looking for ways to improve on it.
I have little time and experience with effect, but I saw that Hono can be used embedded into Astro so maybe something similar can be done with effect and then use some kind of rpc?
Was this page helpful?