Introducing ProGram: An Open-Source, Self-Hosted Instagram
Tags: showdev, opensource
Published: 2019-06-30 13:37:25

---
title: Introducing ProGram: An Open-Source, Self-Hosted Instagram
published: true
description: ProGram is a CLI based, self-hosted photo sharing app. You can think of it as Instagram for programmers who want to keep their data secure while still being able to showcase their best shots in a cool gallery style.
tags: showdev, opensource, meta, bestofdev
cover_image: https://thepracticaldev.s3.amazonaws.com/i/bfshij1qtn5jc78tpjpy.png
---

Hello folks! Keeping up with the tradition, it's time for our monthly product release. This month, we've been working on another cool open-source product for developers, and it's called ProGram.

But before I introduce you to ProGram, it's story time.

If you remember, a few months ago, I started a discussion about Google's unchallenged monopoly over the internet and how the developer community might be helping it grow even more powerful.

{% link https://dev.to/sarthology/are-we-developers-helping-google-build-an-unstoppable-monopoly--39ki %}

Here's the thing, guys. I've always thought that developers have a lot of power when it comes to being change agents. We help build the internet and all the tech we see around us. **We are developers of the free world!**

The dev community is incredibly powerful. But...

![](https://media.giphy.com/media/MCZ39lz83o5lC/giphy.gif)

What kind of responsibility am I talking about? The responsibility to help keep the spirit of free internet alive. And that includes not just being able to access whatever you want, but also being able to access it without fear of manipulation or data leaks or a million other problems.

Big corporations like Facebook and Google hold too much power over us, and we let them because it's easier to do so. And I get it: it's human nature to take the path of least resistance. Why look for an alternative when something is readily and easily available for free?

But I've always believed in holding ourselves to higher standards. We must find alternatives and break the monopoly of giants like Facebook and Google. That is the only way forward. This is why I'm always trying to create new, open-source products that help the free internet thrive. And **ProGram** was made for exactly this reason as well.

Think about it, most of your internet profiles have an option to add an Instagram link to them, and most of us do that. But why should it be that way? There are so many other platforms where you can host your stuff for free. Why don't people go for those? There's a few reasons I can think of:

* An Instagram profile looks beautiful.
* You don't have to create a gallery from scratch. Instagram does it for you.
* Most of the editing an amateur would want to do is available in the IG app itself.
* The social validation that comes with it in the form of likes and comments is possibly the most important thing for many people.

Keeping these factors in mind, I knew what I had to do. I wanted to make an Instagram alternative for programmers who want to keep their data secure and accessible while still being able to showcase their best shots in a cool gallery style. So I made ProGram.

ProGram is a CLI based app that lets you upload and edit photos by applying cool filters on them, and then you can save them to your profile. Once you do that, you can host your profile anywhere, be it GitHub or Heroku or wherever else you wish to.

<screenshot of gallery>

Whenever you wish to show someone your work, just send them the link. I think the Instagram filters are pretty cool, so I added most of them to ProGram by taking the help of some other open-source projects and combining them. The crucial difference here is that you get no validation from others. You get no likes, no comments or followers - all those things which give you that sweet, sweet dopamine spike for a few, short-lasting seconds. I don't think they're important, and I certainly don't think you should rely on them to get external validation. Be happy with the things you create and be proud to showcase them. A simple webpage is enough for that, and that's just what ProGram does for you.

Big tech giants take advantage of our need for external validation, and when we don't get it, we feel miserable. Break the cycle. Don't be miserable. Hold yourself to a higher standard. That is the only way to lead a happy life, my friends.

Alright, that's enough enlightenment talk. I hope I don't come off as too much of a snob haha. 😉

Let me tell you about some cool features of ProGram.

## ProGram is super easy to use!

All you need before installing ProGram is Node and Electron. If you do, simply run this:

```
$ npm i -g programcli
$ program
```

Once it runs, create your profile and start uploading photos in seconds.

## Edit your photos and add cool filters!

For now, the editing available in ProGram is very basic. You can crop a photo and add filters to it. There's plenty of cool filters available, however, and you might recognize some of them from Instagram itself. 😉

## All the control in *your* hands!

ProGram generates an HTML/CSS and Javascript based file that you can customize to your own tastes. Make it dark- or light-themed. Or add custom backgrounds. Don't like the layout? Change it however you want. Go crazy with it.

## Let people explore who you are.

You can add multiple links to your ProGram profile. Link to your Dribbble or Behance profile, show your creative portfolio. Send people to your Twitter profile or maybe even your Reddit. Link your online resume or your personal website. The sky is the limit here.

## Host it anywhere!

The best thing about ProGram is that you own your data. You can host it wherever you want, no need to build on borrowed land as they say.

## Contribute to the project!

If you love ProGram, make it your own. Here's the Github repo, go fork it!

Here are a few features ideas that I have in my mind. You can work on these, or suggest some of your own as well.

* Variable filter strengths
* Video editing
* GIF editing (cuz we all love GIFS!)
* Stories
* Basic editing options like brightness, sharpening, saturation, etc.

{% github https://github.com/sarthology/proGramCLI %}

# It's on ProductHunt! So please show it some love! 😻

[![](https://thepracticaldev.s3.amazonaws.com/i/wam83vtapctgna6qlrai.PNG)](https://www.producthunt.com/posts/program)

We just launched ProGram on [ProductHunt](https://www.producthunt.com/posts/program) as well. If you like it, please show some love and leave your thoughts on ProductHunt. I'd love to hear what you have to say.

---

If you really like this idea, feel free to DM me on Twitter [@sarthology](https://twitter.com/sarthology) and we can collaborate. I'm planning to add other functionalities to ProGram.

If you're not already aware of this, Team XenoX is a team of developers working remotely to contribute to cool, open-source initiatives. We always welcome new and enthusiastic members, so join us in helping make the world a better place. It doesn't matter what your level of skill is. Beginners and veterans, our doors are open to all. And hey, we never run out of cool ideas. 

Adios!

![](https://media.giphy.com/media/QM5lHSyFjz1XW/giphy.gif)