My AI Workflow and Tech Stack of Choice
AI Coding Agents
Claude Code would be my first go-to LLM coding agent. If I hit the limit I would switch to Cursor. So far just these two. I’ve tried GLM + Claude Code for a week building reinvoiz.com, doesn’t feel like it - Chinese models are still dumb in coding.
For Q&A and research I subscribe to Grok, just because I’m impressed by the context window length. It can swallow 1k lines of code and iterate easily by using the “Expert Mode”, and also I like how it tries to validate by going through more than 5 web searches and provide the source.
Frontend Tech Stack
I’ve ditched NextJS fully, deleted my Vercel account. I try to boycott as much as I can - there’s a lot of open source tools out there, why do you wanna pick them (unless if you have no choice). So my go-to is… Vite + React, simple, straightforward, almost no issue at all - just plain and simple.
On top of that I added TanStack Query for API fetching and caching management. Also getting rid of useEffect in any area that I can.
TanStack Table for seamless datatable management. I have mixed feelings about this since already separating FE and BE might as well custom handle the data since pagination is done by backend, so yeah I can say it can become unnecessary but definitely simplifies the data handling part a bit if I use TanStack Table.
Zustand for global state management. Trying my best to not use React Context and drilling down passing state to 5-10 components. Just use Zustand bro. It’s also capable to persist your state using localStorage, so it’s good enough and covers most use cases for complex context sharing.
Axios for data fetching library. Why? Because it’s stable and has polyfill, meaning that it won’t easily break if someone decides to use weird ass and old browser. Axios definitely helps on this.
Backend Tech Stack
Yeah, I can divide this into two. First is just plain CRUD and doesn’t require ML/AI - I would straight away go for Hono + Bun, easy and simple. The framework is very plain and docs are top notch. JWT for authentication and authorization, always, but if I just wanna feel something I try to use Better Auth to manage auth.
For ORM I would go for Drizzle, very plain and simple, works on every framework, doesn’t have fancy layer that acts as query engine - yes I’m talking about you Prisma. By using Drizzle I can say I kinda have a lot of freedom - I can choose to separate my schema in different files or I wanna dump everything in 1 file also can.
And the type completion works like magic, pairs nicely with TypeScript. I forgot to mention one thing - yeah, TypeScript all the way.
Database of choice is Postgres. I don’t know bro, it just works and I don’t even use the fancy features or when they say “this version of postgres is faster bla bla” - I don’t even care. Most of the time I’m just building small products or MVPs, I can’t even taste the benefit haha.
AI/ML Integration Stack
OK so this is the case when I need to integrate/develop features that require AI/ML - I would go for FastAPI. Reason? Not bloated, clean, easy to deploy in Docker - literally just use uvicorn and you’re set. For ORM I would go for SQLAlchemy and for migrations I would go for Alembic. Not much comment for this, because I’m still new to this stack.
And for the agentic framework, I would go for Pydantic AI. I would say this is the most verbose and low-level agentic framework I’ve seen so far - no magic and handle everything yourself compared to Crew AI. A lot of magic and parsing happening in the background I don’t even know, and it is very slow. I’ve also tried AutoGen - not a fan of it. Firstly because it is developed by Microsoft and 100% you need to use their model lol, secondly it is slow. I don’t know if this is OpenAI problem or what but it is very slow tbh.
So the reason I choose Pydantic AI is also because it can be integrated with most models. So for the company that I’m working with we are extensively using Pydantic AI. Of course there;s a caveat to it, currently it does not support Graph, agent graph are very useful to build a long running and interactive agent, as u already usually see, HUMAN IN THE LOOP, agent feedback, and so on. Normal agent it can go as far as tool usage and no more than that.
Recently, I just discovered LangGraph, I think it is less popular compared to LangChain. LangChain is very popular when LLM first dropped around 2023. LangGraph is so perfect for my use case, currently I’m developing HITL feature for getting user feedback on what they want to continue on. There’s an interrupt helper that you can use to wait and resume the conversation and this can easily be integrated with frontend + I also just knew that LangGraph support streaming compared to CrewAI which I also experimented before and it does not support strweaming which kinda bummer for me and also for my user.