Jarvis project banner

Jarvis project

12 devlogs
14h 39m 40s

It’s a mini agentic tool that uses node with ollama package for backend and electron for frontend, mainly doing things that help with everyday life, but also be useful.

This project uses AI

Used built-in agent tool for learning purposes, when i didn’t know a concept I asked it for tutoring me, but I strictly forbid it to write me any code.

oskarskoora

Added catFacts tool that uses meowfacts api to find a random cat fun fact, also ollama 3.2b was exceptionally bad at translating so i added a libretrenslate implementation using docker. Also refactored static answer to actually return something

Attachment
0
oskarskoora

I did some more prompt engineering, fixed a problem with poor text formatting in polish using fixed templates for actions that don’t require an analyze.
Also added a different function for song details, so i get all the info once in a different tool.

Attachment
0
oskarskoora

Holy smokes,
I absolutely hate prompt engineering.
I. Just. Hate. It. So. Much.
It is like talking to the stupidest person on earth that also does not understand your language.
However, after a lot, and i by a lot i mean A LOT of time of staring at the screen and wondering why did this model gave me info about some monument in Warsaw, when I asked him what track is currently playing. But anyway I added spotify integration that works on macOS, it’s using osascript and I’d say it works pretty good, also did some minor fixes.

peace

Attachment
0
oskarskoora

I created a favicon for my project,
maxYoutubeResults is now a variable -> also implemented opening links using exec and open -u, so they open automatically now.
Also fixed my mathOperation helper tool, because ai for some reason would put strings here instead of integers
Next thing I’m going to do is implementing some more fun apis

Attachment
0
oskarskoora

Maybe not the coolest feature of them all, but I had proudly added math operations tool :). The idea came into my mind when i was testing solution for a non-standard prompts and when i gave him 6*2 he returned… 10. I was a liiiiiittle bit shocked, but it turned out, that whenever he got any prompt with numbers, he instantly would hit a randNumber, so i fixed it ;).

Also, what I’m extremely proud of, I managed to adjust the prompts and model and now my runtime is ~12 seconds instead of 80!!!!

Attachment
0
oskarskoora

Implement a setTimer tool with desktop notifications, enhance UI/UX, and update Ollama models. Still working on getting the most of that models, i think im doing something wrong -> one call takes between 30 and 40 seconds and majority of that is ai analyzing something, i think it might be the initial system prompt

Attachment
0
oskarskoora

i put a lot of tears into that look, but i think it’s decent, also added some QoL features like conditional button disabling and a loader

Attachment
0
oskarskoora

It may not seem like a lot, BUT HOLY that was such a hard work done here by me. Anyway we are falling more into uwu windows 95 vibes, but i do not care i like it ;)

Attachment
0
oskarskoora

Introduce Electron for a desktop application, including a basic UI and server process management. I hate styling so flippin’ hard, i hated all of it so bad i decided just to log my raw html.

Attachment
0
oskarskoora

Add smtp mailing solution using nodemailer.
Add opening system apps using exec - very simple process creation

Attachment
0
oskarskoora

I added so many features, my head hurts, but they are as follows:

  • a tool for getting price of my silver assets using scraping
  • a tool for prediciting price of the most popular precious metals -> also scraping from a website
  • a simple getting current weather from any given city using a open-meteo api and also getting cords using geocoding-api
  • a thing I’m extremely proud of: getting future calendar events from my google calendar, learned how to use google apis ;)
  • a tool to add a calendar event with a user’s description, date and place.
  • also had fun using pokemon api:
    -> added getPokemonInfo tool,
    -> added hasEvolution tool (this one was a bit tricky, but ultimately i managed to get a pokemon evolution chain, but i yet don’t have an edge case for a multi-evolution (like eevee), when there is more than one possibility)
  • also added a little random number generator,
  • AND a huge thing -> added youtube search: user gets a list of youtube links.
Attachment
0
oskarskoora

I’m working on my first project! This is so exciting. I can’t wait to share more updates as I build.

Attachment
0