* [Splat]

A development tool specialized in bug elimination right from your command line.

⭐️ Inspiration

Splat was inspired by a universal coding gripe: debugging. Despite a seemingly simple concept, none of the Splat team had found a simple and intuitive debugging assistant–so we created our own, inspired by linters.

🔨 What it does & How we built it

Splat takes your compile & runtime errors and does the squinting for you. Splat retrieves, sorts, & parses all the errors into a graph structure, & creates an undirected adjacency list, to list the relationships between each function mentioned in the stack trace. Splat compiles & compresses the list so that it can interpret the error & its workflow through the context that we have. Finally, the interpretation is returned to your terminal as Where and What the error is. With a simple click, you're able to see How to fix your error and use suggestions right from your code. Viola!

⚙️ Technologies used

The Splat team used Python, Groq, Fetch.ai, and Llama to build a system of file packaging, prompt engineering, and error parsing.

❌ Challenges we ran into

  • We were unable to correct multiple errors at a time: this took too much circumstance and context implementation that we didn't have time for implementation.
  • Ensuring universality for all runners (py, node, javac, ...) were difficult for code replacement/completion, although error parsing was certainly successful.
  • Fetch.ai's documentation was not fleshed out - although we're a really big fan of the tech, we ran into implementation issues due to lack of documentation and help around the technology.
  • Parsing all errors and retrieving the absolute path was one of our toughest battles but has been overpassed.
  • Judges expressed concern over context window, and possibilities of exceeding it. Although we did consider the context window in case of production files (1M+ lines), we attempted to resolve this problem by selecting only relevant files and their relationships with those who are Nth degree related.

🏆 Accomplishments that we're proud of

None of us have ever thought about coding DevTools. When Warp told us that we can make something in the command line, we thought about what all programmers will always run into - errors! Listed below are individual, independent achievements.

  • Ensured universality between all languages when compiling and simplifying errors
  • Robust, sleek error parsing with sub-100ms response time

🍎 What we learned

  • Working with CLI
  • Working with development tools
  • Error handling and in-depth exception parsing

📝 What do we plan next?

  • Visiting Top Dog and Sweethearts Cafe in Berkeley.
  • Making it so we can handle multiple exceptions, and solve each of them with context of the previous error. We planned on doing this initially by returning a list of objects and iterating over them, but we decided to stick to looking at an error, one at a time. If we were to implement it, we would use a queue and between every operation, we would process the context after each error, and pass down the line.

Built With

Share this project:

Updates