I started with a CLI chatbot.
Today, the same chatbot runs as a FastAPI backend with conversation memory, REST APIs, and 10 passing tests.
Not a rewrite. Same provider logic, never touched.
Here's what the CLI → API migration actually taught me 🧵
What's actually running now:
LCEL: prompt | llm | parser
ChatPromptTemplate → no more manual string formatting
StrOutputParser → clean text output
PydanticOutputParser → structured JSON without try/except hell
Prompt pipelines > raw API calls. No going back 😭
#LangChain
Integrated LangChain into my FastAPI chatbot ✅
Built provider abstraction manually first - now adding the framework on top.
Best part: not a single line of existing code touched.
LangChain just slotted in behind the service layer. That's what good architecture buys you 🔥