My journey into the world of AI
Career Timeline
A short journey about where I started, and my calling to AI and Language processing and into the unknown future for the next interesting challenge!
Transitioning into an AI engineer
ActiveWith almost over a decade of experience in traditional Software engineering, I'm now amplified with a plethora of options to explore into Agentic systems. By now, ChatGPT has taken the world by storm. The revolution that I had always talked about had already on its way.
I've been playing around with prompts1There's a reason why I don't use prompt engineering terminology here, context engineering, and now harness engineering 2Engineering within harnesses is the powerful way to instill our cutom workflows that is unique
My go to workflows have been about utilizing small language models and open-weight LLMs to get something useful in an affordable way. Here are a few of my experiements that I've had fun with:
- ProTab: Project based Tabbing for leaner and cleaner tab management. I strongly believe that "Tab" based web browsing should have evolved long time ago - It causes too much friction with modern web applications and computer resource utilization.
- Mdbook Preprocessors: What you're seeing here3including this inline popover such as this timeline
- KeyZen: Revival of Keymonk keyboard for modern android phones in Kotlin.
All of the above are primarily built with Pi harness 4which is where my harness engineering lies via custom extensions and packages and primarily with open-weighted models5with exception to some of Codex/GPT5.5, 5.6 Luna and Sol, GLM5.3 usage bundled with my subs such as DeepSeek V4 Flash, Pro, Mimo v2.5, Minimax M3, GLM5.2
Refining my backend skills
I was lucky enough to work on different types of applications that kept me occupied until LLMs came to rock our world.
- Despite the state of
Agentic Engineeringwas in its nascent stages, I was lucky to work with priliminary agents. We built an interesting multi-agent system that curates newsletters from different sources. It was a fun experiment that we were able to do bring to production even before the current era of cloud agents, orbs, parallel and sub-agents. - Worked on huge datasets (geospatial climate data in xarr via xarray) via flask backend (TIL 6There I Learned about modularization of codebase)
- Utility industry application where I got to work with Django + Fastapi over REST and GraphQL7which made me incredibly thankful for RESTful design and understood the bottleneck that GraphQL introduces when we include it without "genuine" needs and was able to improve the team dynamics with modern tooling8Porting DX from poetry, pylint to uv, ruff, Just which also improved the CI pipeline performance. Was also the first one to tackle a long standing bug (~2 yrs) (TIL 9Learnt about the importance of tooling, and observability to help with smashing bugs)
- Got a very interesting opportunity to work with LLMs where I was able to enrich millions of rows of lead data in snowflake using fine-tuned10on small data via FastText for extreme speed gains - from minutes to few seconds and smaller domain specific language models11hence why I strongly believe in DSLMs - Utilizing smaller models made it possible to enrich data in multiple dimensions. 12Using Meta's NLLB made it multi-dimensionally usable data (TIL 13Concurrent python for ETL and the power of layered multi-LLM pipelines)
- AWS cloud cost usage analysis where I got to pitch & experiment with14Always a fan of exploring new, niche tools that will work with specific set of problems, and bring to production a new paradigm of database - Clickhouse for high ingestion and on-the-fly analytics. (TIL 15About the difficulties of deduplication)
Second stint at Zephony
After an interesting time with NLP and CV applications, I wanted to build products that utilizes AI in a clean, minimal, and non-intrusive way. 16The inspiration came from Zerodha's Nudge feature that gives a heads-up to their customers if a news on a particular stock might cause users to be anxious or uninformed - which was humane by design, and usable by product-standards and highly insightful from an AI perspective. I wanted that, and I still do - from a modern perspective of the same.
I got in touch with my seniors again - where I was the Head of products - A role that I not only wanted, but was excited because it taught me some of the harshest lesson on product design, target audience, and customer-focus. Despite not being to get it into production - An internal tool that we were building - for which I did market research, design in Figma (started abysmally bad and got to a interesting UX version), and was able to convince my team to start building up on it.17Disclaimer: We never got that product out due to financial obligations both personally and professionally - but the lessons, skills, and experience stayed with me
Quenching my thirst at PNA
I got an opportunity to work with another analytics based startup - Where I got to play around with a lot of AI powered applications. It was early stage for the startup and we had a chatbot based product. My experience with building my own version of Natural language apps (viz verbalizer) gave me an edge to play around with the ML/DL based chatbot building platform. NLTK, SpaCy, ContextNet, AllenNLP are all part of our stack.
I also got to work with a computer vision based application that was running on edge AI devices18Think intel Edison like devices where we tried SOTA models but learned that sometimes simpler solutions with Traditional OpenCV and matrix manipulations help with better performances. (TIL19I was proud of devising my own algorithm akin to garbage collection - the solution was inspired by a farming technique called Culling - Killing diseased cattle to save the herd - Similarly killing expired identified people across multi-camera FoV)
I still remember my presentation about Unhyping AI to college students. A talk I was very proud of!
This is also where I made my first official OSS contribution20TextStat library PR to a python lib that's part of the Natural language pipeline. Very proud of this as well 😁
First stint at Zephony
I had already worked with a couple of my seniors in college, and although I enjoyed my stretch at Tata Elxsi, it was deviating from what I wanted to do - Application development with AI inside of it. I joined my seniors and I'm incredibly thankful for the journey that I had there because I was the first official "employee" in the company! Which made me learn a lot of things which I still use to this day.
We built a lot of web applications. Ecommerce applications, Custom CRM, Blog engines, etc. It was the right kind of custom web application development because it gave us the apt amount of challenges that we could have some leeway to play around with our own ideas21Like a Permission system based on bits, utilizing decorator patterns for RBAC, Performant backend ordering logics, etc and much of my web application development knowledge that I hold today - The seeds were from there. (TIL22Also had an interesting learning about the choice of when to use a NoSQL database vs SQL databases - which I carry to this day)
Initiation into Work
I still remember my campus interview I attended at college placement drives. The first company that I attended was Tata Elxsi. Despite being already late (IIRC post 6pm) the person interviewing me was polite and appreciative of my resume 23which I'm still proud of, because I remember designing that with Photoshop! and seeing Linux in it - He asked a question along the lines of what are signals? Me having a fair share of my linux usage24Arch user, BTW I was able to answer and he was happy because I was the first and only person to have answered it clearly since the morning.
By the end of the interview - He asked if I had any questions. "Will I get a chance to work on AI in any projects?" was mine. He was very practical25Given that Elxsi's focus wasn't application development, and told me that there was scope, but it'll take time for a fresher to work directly yet since the field was very early.
I was selected, and that was my first job. My team lead was gracious enough and observant enough that he gave me a Research oriented task - I was tasked with building the Navigation system for CES demo. I had a lovely time working with Marble and navigating26pun intended my way across the OSS project. (TIL 27About work culture, the freedom to be myself, the freedom that money unlocks, and the responsibilities that one shoulders as a teammate, a person who finally becomes an adult with choices to make - Unlocked me a fantastic understanding about Tradeoffs in life)
Personal exploration of Natural language applications
Because I was immediately impressed by what Eliza could do, It stuck with me - and that's always been my goal 28Especially since we've all seen ironman and Jarvis by this time. Siri was also gaining traction So I did what any reasonable newbie software engineer would do - Try to build Jarvis29What's impressive is that by that time I had already done many tiny projects that gave me a good understanding on "scope". I kept it super-small Being a final year full-semester project - I had an interrupted six months of time. Where I built Verbalizer30Another "engineer" mindset on Verb-ing product names!. Basically Siri for Linux systems.
There was no meaningful solution for linux and I thought I could do voice recognition31Another engineer's poor estimation and been learning about CMU Sphinx 32Their reserch was impeccable. Very interesting how they recognized syllables over words but I just went with Terminal Natural Language Interaction. Like "What's the weather today? or Play me a movie"33Basically what computer use by modern agents are. Made a usable version. That's when SpaCy was released as well, and I was one of the proud users of the early version.
I also built a tiny Windows desktop application YATS (Yet Another Task Scheduler)34Yes, naming inspired by other OSS projects like GNU/YAPF etc - a task manager35Like every todo app developer! but based on Eisenhower Matrix36My self-learning and self-development along with self-help journey started early on! that automatically updates the desktop wallpaper when you give a task on the CLI. (TIL 37About windows Batch programming, team-work(since I was leading/mentoring a team of 3) and visual basic. Windows app development wasn't clean by any means!)
I even gave a Lightning talk at Pycon India 2014 about Naive Bayes classifier using Textblob.
Learning to control the machines!
By this time, I had already started to play around with programming. And then I started exploreing more and more into other applications - Photoshop, and then eventually Blender. It was the release of version 2.4 series. And it was way too difficult for a beginner. But the fact that it could be controlled by Python is another nudge that kept me going in Python.
By now, I had already tried other ELIZA-like applications. There was Dr.Sbaitso (which is akin to Siri, and now Voice mode on plethora of LLMs today) and since I had already been playing around with the technical deeper stuff - I had earlier tried reverse engineering Eliza. Just played around with the files, and noticed it that was just html. Opened it in explorer and to my shock it was just plain language! Just replacing pronouns with *! I was disappointed because my awe for how it could speak back in natural language was broken down by my understanding of the very basics of linguistics. But because I had already gotten to an usable state with programming, I thought - there has to be better way to do this.
There started my exploration into what Eliza, Sbaitso and similar programs. And then I learned about ALICE bots (precursor to customizable chatbots) and then Clever bot38which is where I learned about the Turing test, because it was advertised as something that was close to cracking it IIRC. Pity that we take the turing test for granted today now that we have crossed it just recently, but we're already way past it And then eventually ended up with NLP39Started from NLTK - It taught me more about linguistics than AI - Lemmatization, Stemming, SVO, NER were all very interesting. We often miss the things in plain sight!.
I still remember asking a question on a forum40Not really sure what it was - but something like AskExperts I believe that if I could pursue NLP for my higher education. 😅 I still remember the answer from an expert saying that we're too early in the domain and that I was too young to think about it and I should just pursue college first in computer science before thinking about these niche domains.
Exploring the "Internet"
Brother had already started with computer programs when The computer labs were a thing in schools. And nosey as I was, we were bascially just writing stupid little programs - like the infamous FLAMES, and number games. By this time we had already moved onto WLL connection. Oh the start of Rinaldo Rex as you know today.
I read loads of wikipedia pages and forums by now. Because with dial up internet, that was what you can do often. On a whim, I ordered Ubuntu linux from the Canonical website42Can you believe that it was absolutely free? The first international package that my family ever received was this OS cd. Direct from Finland. I just couldn't believe my eyes when I all I had to do was just sign the post. I never believed I'll receive it in the first place!
I had by now already started playing with ubuntu dual-booting with windows, but I couldn't get my WLL connection to get it working. That's when I met Ershad43Ershad's Blog Forever grateful! Thanks, etta! randomly on a forum. He nudged me towards enabling WLL connection on linux with a script. And he suggested I look at programming languages like Ruby/Python. You can still see the remnants of my old blogs from that time on blogger, tumblr, knol, etc. Forums, blogs, and people who wanted to share knowledge was never short of numbers at that time.
Getting Dial-up Internet
Although, I gotta admit - Despite being marketed as a 56Kbps connection, BSNL was incredibly poor at delivering the speed, or consistency. I still remember that we rarely get connection during the daytime, and even if we do, it's only around 2-8Kbps. And our dad used to keep an alarm to wake up in the middle/early morning to get a better constant connection - even that could go only upto 15-25Kbps only.
90's kids will not forget the nostalgia of the tone when they had to connect to dial-up network! And the difficulty when people have to talk over their phone when someone is downloading something that can't be resumed!
Getting our first 44Second-hand, used. We couldn't afford a brand new one then! computer
Sometimes you gotta be grateful for some circumstances in life that paved way for who you are. Getting a 2nd-hand computer instead of a brand-new computer was one such incidence.
It was a Windows XP + 98 dual boot system. What was interesting was all the crazy content that we had in a 40GB HDD, with 128MB RAM. Can you imagine the games that we had, the movies, the tiny utilities and more? We still had a couple of GBs left to fill. One of the piece of tiny applications that my brother and I found already in the system was - Eliza.
And there started my fascination with AI.