Context Awareness Engine, Useful Metadata, and AI Auto-Enrichment with Pieces
Tags: machinelearning, programming, devops, ai
Published: 2023-03-10 22:07:26

When you save something to Pieces for Developers it not only saves the material itself; but further, our Context Awareness Engine automatically attaches related context & metadata enabling powerful organization, search, and suggestion capabilities.

## Origin Details
Reference code is everywhere these days. Whether it's a solution that you're adapting from Stack Overflow or doc-site boilerplate sent over Slack or Microsoft Teams, all code comes from somewhere.


Where a code snippet came from, and the larger context it was taken out of, is often lost when saving or sharing reference materials today and makes it incredibly difficult to find and share or reuse it later on. In an effort to maintain this invaluable context, Pieces for Developers automatically extracts and associates useful origin details every time you save a resource.

- i.e. Project Name, Source File, Line Numbers, Collaborators, Solution Publishers, Application Source, etc.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rfknq86ay7v8npxqpr30.png)

## AI-Generated Smart Descriptions and Associated Commit Messages
Between our Flagship Desktop App, Chromium-Based Browser Extension, and the Visual Studio Code Extension, our users are saving more than ever. That said, a large part of our material enrichment efforts are allocated towards making searches and suggestions first-class.

With these end goals in mind, Pieces for Developers ships with an offline and on-device ML Material Description model that generates a smart description for everything you save:
i.e. What the code snippet or resource is, what it does, how to use it, and how it might be used in the future.
These smart descriptions, coupled with relevant commit messages extracted via our Context Awareness Engine, enable awesome reference and reuse experiences later on in a users' workflow.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/827u27gtuszc2g5v85zx.gif)

## Related Links, External Resources & Reference Materials
More and more developer resources live online nowadays. Saving links you found while researching or problem-solving in the browser, code, or documentation has never been easier.

With Pieces for Developers, you can quickly associate URLs to external resources like Documentation Pages, Wiki Links, Jira Tickets, Pull Requests, GitHub Issues, you name it, with your saved materials.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jivb12bxircnmno8n9f4.gif)

## AI-Generated Smart Labels and User-Added Tags
To double down on our efforts to make search and suggestion world-class, Pieces for Developers ships with an offline and on-device ML Material Labeling model that automatically generates smart labels for everything you save:
- i.e. “HTTP Request”, “Flutter Framework”, "Dart Project", "Conditional For Loop"
In addition to our auto-generated smart labels, our Context Awareness Engine automatically layers in tags corresponding to origin details and related links. Lastly, you can easily add your own tags as a manual way to further organize your saved resources while driving a more personalized search and suggestion experience.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/j8yts45afkns7t0iq39z.gif)

## Related People
These days, technical work is more people-centric than ever. Writing and reviewing code, upskilling on ever-evolving best practices, migrating to new framework versions, and onboarding new developers— it all builds on the work of others.
Simply knowing who to reach out to for additional context, who to add as a reviewer on pull requests, or who might provide a different perspective could save some serious time and prevent major headaches.

To help solve this dilemma, our Context Awareness Engine automatically associates Relevant Collaborators, Maintainers, and Content Authors with the resources you save.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8cr4rz2mmxbv0jdyjzyq.png)


## Smart Warnings and Sensitive Information Detection

Some of the most commonly saved snippets are Powershell and Command Line instructions, boilerplate for unit tests, .env variables, HTTP requests and CI/CD build configs.
All of these often contain sensitive data like API keys, auth tokens, usernames, passwords, or service account credentials.
Pieces for Developers facilitates security and programming best practices by detecting sensitive information and warning against accidental uploads or sharing.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nxpnoihhsa6s0uttv9ft.gif)

Your code snippets’ context is important in order to know when to reference and reuse it inside your projects or when sharing it with a team member. Pieces AI grabs language, related links, related tags, related people, smart descriptions, and more right when you hit “Save to Pieces” inside your IDE. 

Pieces is just getting started with cutting-edge, powerful, secure products across developers’ workflows. Check out more of our products!