# Nova: Your friendly and not-so-average extraterrestrial life coach.

> Source: <https://dev.to/tanay_dwivedi9098/nova-your-friendly-and-not-so-average-extraterrestrial-life-coach-1jc8>
> Published: 2026-07-31 13:35:29+00:00

Long time no see. Many of you guys here at Dev.to might have forgotten me, as I was pretty much inactive for the past couple of weeks. Life happens, and sometimes you gotta prioritize stuff that's important. Now that I'm back, you guys will see me active and, if I'm lucky enough, winning a few hackathons as well.

Two weeks ago, I completed an AI-powered application while learning Generative AI from [Shriyans Coding School](https://www.youtube.com/watch?v=vwncYfhxbR0). In this particular tutorial, it was taught how one can create their own personal assistant using LangChain. After completing it, I built my very own AI assistant, Nova, who will guide you through the struggles of your daily life with his philosophical insights, as he is way more evolved than us Earthlings.

**GitHub Repo**: [https://github.com/tanay9098/Nova](https://github.com/tanay9098/Nova)

**App Link**: [https://tanay9098-nova-app-ippn9j.streamlit.app/](https://tanay9098-nova-app-ippn9j.streamlit.app/)

LangChain: A framework to build an LLM-powered application using Mistral AI.

Python: For coding and other stuff.

Streamlit: For UI and hosting.

Claude Code and Codex: To make development faster and easier.

It was my first time building a Gen AI-powered application, so I had to read LangChain documentation from scratch and figure out stuff on my own as I was progressing while building this application. Another struggle was that the tutorial video was recorded 3 months ago, and in just that much time, the LangChain docs got updated and many things got deprecated, so I had to fix that as well. One time accidently I exposed my Mistral API key to claude code so needed to rotate it as well.

One of the most important things I learnt that how I can activate and use virtual environment for python projects and how it resolves the version conflict issue when someone else is running my app locally on their machine.

Another thing I learnt about Messages Types properties in LangChain like **SystemMessage**, **HumanMessage**, **AIMessage** from **langchain_core.messages** and how they can use to structure chat while talking with LLM model.

Conversation history and how I can implement in my LLM-powered application

Embeddings and how they power LLMs (it can be a separate topic on its own which I will write about in my later blogs)

That's all from my side. I hope that you guys enjoyed my content. Feedback and suggestions to improve my content quality is welcome.

Thanks for reading :)
