React Native. TypeScript. NestJS backend, NextJS frontend. The ability to easily share code across the full stack is underrated. Of course you need someone that thinks at that high level building it.
On the opposite, I find that sharing code across full stack is becoming overrated. The reason I'm saying this is because that often leads to some very messy dependencies, and maintaining that codebase can become really difficult if you're not very careful.
Additionally, I found that in some teams, people would use some backend code on the frontend, resulting in some security vulnerabilities (server-side logic running on FE instead of BE). Instead, now that we have backend (Go) & frontend (TS) teams at my work, both teams consider the best practices for each environment with more focus. You could say that the same people do that with the same stack, but in my experience, if you allow people to put more focus on the one component they're building, they'll just build it better than when they have a plethora of other dependencies to consider.
The main problem could be talent, as if you have specialised people, you always have to hire for both of these positions (or train your people in either direction internally). But I honestly never experienced a shortage of people. It's more of a problem if you have a shortage of money, at which point, you should just use whatever you can build with the quickest to keep your business afloat.
I made Tamagui (with much effort) to solve this, which has probably the best setup out there at the moment for sharing your UI code on the frontend: https://tamagui.dev
For backend we're working on a starter kit that puts together all the pieces (there are a lot!) that's days from release, if you reach out on the Discord I can help get you on as a beta tester. It uses Supabase for data and auth, which seems to give the best overall package for data and auth.
For state depends entirely on the complexity of app. For simple apps you can get away with just something like React Query and Reacts useState, for more complex one of Daishi's state management libraries (everyone has their different preference, I love the black sheep Valtio), or the new kid on the block Legend State looks interesting.
The biggest part is getting a monorepo set up properly with shared code. Again the Tamagui starter repo `npm create tamagui` has this set up and its a whole ton of work saved in terms of getting that right.
FYI, the Silkscreen font on the website is completely illegible at smaller sizes like in the menus. Looks like a rendering glitch. Might want to choose something a little more legible.
Are you using a very dense resolution? I've turned off anti-aliasing, but if you scale your monitor to be more dense than natural resolutions it will appear quite odd. At "normal" resolutions it looks fine. I could turn aliasing back on at the cost of a bit of visual niceness for most.
Yeah, probably. I’m not sure exactly what the pixel density is, but it’s 1440 vertical pixels. Maybe try a resolution media query to toggle the antialiasing?
Types (interface contracts) are already easily sharable with an IDL and code generation. There's no need to stick to a common programming language to share types.
I'm highly skeptical of code sharing for other scenarios, and rarely (never) have seen the effort worth the payoff.
See my other comment above, but I was able to share basically everything that was not UI code. Types, request hooks, utils, configs/constants. Probably about 60% of the app, and you wouldn’t want to share UI code anyway because web and Native are so different.