Inspiration

Jarvis from Iron Man. Always been fascinated with the relationship between both of them. Knew it's feasible, just need to structure the mind well.

What it does

More than an assistant, a companion, a thinker, a second brain.

How we built it

Started with laying out the project statement, breaking down the problem and drawing architectures of each subsystem. Then implementation with go as language of choice since working on a high level distributed project. The project repo has been created for a long time but wasn't worked on until about 3 weeks to end of hackathon. However, from the commits, all the go and current implementation were made during the hackathon (old python initialization for the project was deleted since I couldn't figure out approach).

Challenges we ran into

Several challenges actually. From channels deadlock to send to closed streams, to having to deal with the ridiculous timeline I set for my self.

  1. Go doesn't have much support like langgraph and co, so had to implement brain and decision logic. However, this gave the freedom to implement to best of ability and timing.
  2. Had little knowledge of streaming audio but worked on audio search (shazam) algorithm before. However, I was streaming mp3 initially, this was really hard to control since header comes in beginning. This took a long while to figure and ended up switching to sending PCM frames. Will still sit down to work on a more robust compressed system like spotify.
  3. Many other issues really like spending a long while downloading llama3.2 just to realize I didn't download the one with tool call. Ended up switching to gemini which has been fantastic. ## Accomplishments that we're proud of
  4. Nothing is impossible. Set hard and ridiculously high goals, work ridiculously hard and then you can reduce your dependence on luck. Funny but I learnt this during the hackathon, at least, even if you dont achieve the full goal, you would've gotten a really good result
  5. Initiating and developing (to a good appreciable point), a tech I've always fancied from Iron man movie. ## What we learned
  6. Streaming and concurrency skill raised by a big bar.
  7. Don't stream mp3.
  8. Designing system architecture before implementation is never wrong. Some initial steps like documentations, etc can be way more important than the quick urge to implement. ## What's next for xarvis Oh, it's just the beginning. Will start building and make way more effective, fix the issues currently, implement the hardware and look for partners. It's about to be an interesting time.

The link might not work yet, still handling deployment with my digitalocean droplet. Have a bunch of models running in system so they're sort of heavy. However, try it, might be done by then.

Built With

  • go
  • llm
  • rag
  • tidb
Share this project:

Updates