How AI pushed a TypeScript engineer into Python

2026-09-10

For most of my career TypeScript was enough. React and Next.js on the front, NestJS or Express on the back, one language from the database to the button. Then AI moved from a single API call to a real part of the product, and I kept running into the same wall: the interesting code was in Python.

LLM APIs have good JavaScript SDKs, and I still integrate OpenAI and Anthropic from Node.js. But once the work goes below the API - running a model yourself, embeddings at scale, audio - the ecosystem is Python: PyTorch, Hugging Face, NumPy, Jupyter notebooks, research repos that ship with a requirements.txt and no npm alternative. Text-to-speech with StyleTTS2 and audiobook pipelines were the point where reading Python stopped being optional.

Learning it as a senior engineer is different from learning a first language. You do not need to learn what a loop is; you need to learn the culture. Virtual environments and pinned dependencies, because a model repo that worked last month can break on a new torch version. Type hints and Pydantic, which feel close to TypeScript and Zod. async in FastAPI, which maps nicely onto what I already know from Node. And the notebook habit: explore in Jupyter, then move what works into a real module with tests.

AI itself made the learning faster. I use models as a pair programmer for the language I am weaker in: explain this idiom, rewrite this JavaScript habit the Pythonic way, why does this tensor have the wrong shape. The rule is to treat every answer like a junior’s pull request - read it, run it, and understand it before it lands. AI accelerates learning; it does not replace it.

In production I keep the split simple. Node.js and TypeScript own the product: auth, the API, payments, the UI. Python owns the model work: inference, audio, data processing - usually as a separate service or a worker behind a queue, talking to the product over HTTP or jobs with a typed contract. Each language does what its ecosystem is best at, and neither leaks into the other’s job.

Python did not replace TypeScript for me - it extended my reach. A few years ago “full-stack” meant database to browser. In the AI era it also means opening the model repo, reading what it actually does, and running it yourself. If your product needs a model step and a real web app around it, that seam is exactly where I like to work.

Give the next product someone who stays.

Ready to get started? Send me a message - I'm available to start now and to stay. Long-term retainers, not a two-week handoff. Let's discuss your project, requirements, and the best way to move forward.

Ask about experience or services