DECS: The All-In-One Workspace To Manage Code Snippets and Protect Sensitive Data!

DECS
6 min readJan 8, 2019

--

Happy New Year Everyone!

It’s been over a month since we have launched DECS and little over three months since we started working on it. Before we explain what it is, why we developed DECS and how it is going to make the software development and maintenance experience more efficient and secure, here is a little introduction to the importance of software development in the technology-driven modern society.

The world today is controlled by technology. It’s hard to imagine a life without software usage. From the time we wake up in the morning until we sleep, we are connected to a network via our phone or computer. Since these technologies play such a substantial role in modern life, we need more developers to code better and secure software as we advance. With technology and its associated software, development tooling also improved like never before. It has evolved so much, and so fast it is now impossible to catch up. At this pace, developers need to stay focused and be productive to create better products working smartly.

DECS is the Decentralised code Snippet Organiser for software developers.

A Snippet is what it sounds, a small piece of code or brief extract you want to save for later. Developers spend days writing and debugging code. Sometimes, they end up writing the same code fragment that was written a while back for a different project. Managing code snippets and reusing them is a crucial part of the software development process.

DECS provides an all-in-one workspace to manage code snippets and protect sensitive application data (like API keys, database credentials, configurations, tokens).

DECS all-in-one Workspace

We developed DECS (abbreviated as Decentralised Encrypted Code Snippets) to address some of the critical aspects of software development, Security and Productivity.

DECS is powered by BlockStack and Gaia storage under the hood and we plan to dedicate an entire blog post to discuss the features inherited by default and how easy it is to develop on their platform.

Now let’s discuss security and productivity…

  1. Security

An important but often ignored aspect of software development is the security of sensitive data. If you’ve ever built an application/software, you came across the struggle of keeping secrets (database credentials, API keys, scripts etc.) secure.

DevOps use tools such as BlackBox, Docker secrets, Chef, Puppet, Ansible vault, Parameter Store etc. to encrypt and sync sensitive app data, but these tools are sophisticated (requires initial set up — steep learning curve) and often are project or platform specific (no interoperability). Consider a situation where you have a few side projects (different tech stack, hosted across multiple cloud service providers) that you need to maintain or develop passively and the main project you are currently working on. Every project has sensitive data such as configurations, database credentials, API keys, tokens, folder paths, and other seeds. It’s not advisable to commit this app data to the version control systems such as GitHub, Gitlab or BitBucket (both public and private repos). Often it is a humungous task to organise them in one place, and it all ends up on your PC or MAC (without any backup) or synced to a local NAS (not accessible outside the network).

DECS (vault feature) provides you with an out-of-the-box solution (platform agnostic with zero learning curve) to store and organise sensitive app data with encryption enabled by default.

We provide a default storage hub where you can host and version control your encrypted secrets for FREE. You own your data in the right way (not the pseudo-ownership), and your data is end-to-end encrypted with keys that you alone hold. Not even we could see what’s in your workspace.

An encrypted snippet on DECS

It doesn’t stop there, in case if you are not comfortable leaving the encrypted data on our free servers you can choose your instance (any cloud provider — AWS/Azure/GCP/Dropbox) to be the storage destination. You can always share your data within your team and sync it across different members. Team members can fork it to enable local development while the original version is still in reach for testing.

DECS allows you to truly own your data and gives the peace of mind to focus on building the next big thing.

2) Productivity

Programming is a time-consuming process. Only developers know the time and effort (also the amount of coffee) that goes into writing functional code. Usually, it would be a superhuman task to remember all the functions of a specific programming language, especially while attempting to write code across multiple coding languages.

“PROductivity is what makes the developer a PRO developer.”

One way of achieving productivity is to write reusable code. Yes, it’s tricky to write reusable code (especially when we don’t know the future scope), but it’s not impossible. Provided if there is an easy way to capture code fragments, optimise (version), repurpose (fork) and review them in one place, the whole process of code reuse seems to be not so daunting. We call this the R4 Strategy: REUSE, REFACTOR, REPURPOSE, and REVIEW in one place.

Reuse: Remember, the same problem need not be solved again. DECS workspace enables you to capture your code snippets and organise them conveniently so you can always get back to them and use it when necessary without having to search across multiple projects on your disk or across the internet (it saves you a hell lot of time).

Refactor: You can never get it right the first time, be it code or anything. So using DECS, you can always revisit your code snippets at a later point of time, refactor it while you still have the original version available when you need it. This refactoring improves the code quality.

Repurpose: Honestly speaking most of the times we do not reuse the code snippets as such, we often tweak them to meet the specific use case. At this point, we realise that both the original code snippet and the repurposed version are reusable even though there is an overlap in what they achieve. We want to address this situation via DECS forking feature where you can evolve a code snippet in an entirely new direction where it is not originally intended to.

Review: Every developer has a preferred programming language where he/she is good at, and one cannot be good at everything. In this new age of software development, we often find ourselves in a situation where one programming language is our preferred one, but we usually end up coding in a few others to get the task done. These situations require feedback from a domain expert. Also, the newbies starting to take their initial steps in software development often require mentoring. PRO developers can always review the code fragments using DECS (Teams) and often they are the ones who find reusable code patterns and guide the team/newbies in the right direction (set the best coding practices). We believe that this learning process needs to be seamless in the development lifecycle and can be enabled using DECS.

Code reuse alone can be daunting but an easy to use all in one workspace approach where code reuse accompanied by refactoring, review, and repurposing can make the software development process more efficient and enjoyable.

Conclusion
Developers when provided with the right tools integrated into their workflow create better software which in turn advances the technology-driven society forward. DECS enables developers to truly own their data, giving them the peace of mind to focus on building the next big thing.

If you like the project and would like to support us, please join the conversation on product hunt (https://www.producthunt.com/posts/decs). Your vote gives us an immense boost to develop DECS further.

Thank you.

- DECS team

Be secure. Be productive.

Try it now its FREE — https://app.decs.xyz

Follow us @Twitter: https://twitter.com/decs_dapp

We develop and release new features on a regular basis based on our user feedback and requirement (lean approach). Please note that in the current post we intend to give an overview of what we are trying to achieve. Some of the features discussed above might still be in development, so please stay tuned for new feature releases, and our plans to contribute back to the BlockStack community.

--

--

DECS

A decentralized app to organize code snippets for developers