@sergeynazarovx super interesting case study! I know there’s been a couple of those screen capturing tools that basically do the same. What’s been your thought process, how did you decide what to build and what to improve and how to price and market it, given existing products?
worst thing you can do to yourself (and your agents) is to rely on frameworks blending front- and backend. a clear openapi spec is so much better in 100% of cases than any kind of loader bullshit will ever give you
If you're on your way to building a billion dollar company that involves a web app, here are some of my notes on architecting the frontend.
if you don't do this, it's probably fine but one day you'll hire someone to fix it but truly that person could be doing some other higher value thing if you make some key optimizations on day 1
you don't even have to learn anything you're gonna tell your agents to do it anyways!
okay here it goes:
- Make your server code generate a openapi spec which then generates all the relevant client side code. Never do this by hand. Typing backend types instead of generating them should be banned
- You need to make a decision on how the client talks to the backend. rest/graphql works in which case please just use tanstack query. other libraries will look similar but tanstack query truly is goated.
- if you want linear style sync setups or offline mode, think about this HARD and architect it from day 1. Bolting this on later is so tedious.
- People like using plain react router but things have gotten a lot better since then. Try their new framework mode or just even use tanstack router. Use route data loaders.
- If you store a lot of state in query params, make that a first class citizen and make sure its type safe. use nuqs or tanstack query.
- Most apps just need a single state management situation for server state and thats it. If you have other bespoke needs, i have quite like zustand and xstate/store.
- If you have a super interactive app where things come in and out of view, theres a lot of frontend state to maintain, music is playing and what not, lock in and learn xstate. Trust me if you wanna keep ur sanity, you need to model ur frontend as a state machine otherwise you're gonna be deep in useEffect hell
- React compiler is here my friends, the days of useMemo and useCallback are gone. Update your priors accordingly
- Tailwind is easy and fun but makes it really hard to maintain a large app with consistent styling. You need a "agent-first design system/component library" but maybe this is a rant for another day
- Don't be afraid to hack your routing library to fit your needs more closely. A lot of apps have "drawers" to show additional info. You should 100% be able to say "here's a route, make it a drawer" and everything should be handled from there.
- Managing loading and error states using isPending and isError is madness. Lean into Suspense and ErrorBoundary.
- Figuring out a blessed path for websockets and SSE on day 1 i think will pay dividends in the long term if you're building anything AI related.
- If you're building a SPA, don't use next.js. it literally makes no sense. Why would you do this.
- Definitely deploy on Cloudflare or vercel. There are other services but trust, there have weird missing features.
- Assuming you build something people want, the next job is to build the factory so it can efficiently build the thing. Act accordingly.
i just hit $37,000/month on my solo startup, so now i can call it a success i think
but it got me wondering... how many times have i failed so far? and what's my success/hit rate?
📋 23 projects since 2019
🫙 18 misses
❌ 9 abject failures
✅ 5 HITS!!!
I wouldn't worry about CTR in aggregate - as you continue to add content to your site you'll start ranking for longer term keywords but not in high positions and your aggregate will be low.
Here's what to do instead - pick 10 keywords you really want to win at - obsess over the clicks, impressions, CTR, and ranking of those first.
Each keyword should have a corresponding page on your site that is intended to rank for it. Those pages should have cluster content around it and that cluster will create the noise but ignore it and create a dashboard of just your top terms instead.
Set up a GSC and/or AHREFs MCP to help you set this up.
@igorhansachat 100% agreed. I wonder if getting used to those US numbers might be beneficial tho, just from a mindset perspective. targeting US clients while staying in Germany also seems like a lifehack
I don’t really come up with tweets. They punch through my psyche like asteroids through the atmosphere. I was eating a mandarin when “you have to make more money than her father if you ever want her to see you as a man” revealed itself. Is that true? Who knows. Your problem now
I don’t really come up with tweets. They punch through my psyche like asteroids through the atmosphere. I was eating a mandarin when “you have to make more money than her father if you ever want her to see you as a man” revealed itself. Is that true? Who knows. Your problem now