Put your localhost online with Burrow.io

I had a pain at work: develop code to take actions based on Stripe webhooks. Why was it a pain? Well, how could Stripe send a webhook to my I know some people will say that I can mock, stub, etc, but I like to see it working at least once, to make sure everything is alright. After a little bit of googling I stumbled upon a tool called Ngrok.

Ngrok’s premise is awesome: it gives you an URL that will forward traffic to your localhost on any port you want. So, I downloaded the executable, followed the instructions but unfortunately I could not get it to work. Maybe something with my laptop, or maybe some temporary failure on Ngrok’s servers… who knows? I want to register here that Ngrok is a great tool, used by many people. It has some neat features like replay requests. But I got a little frustrated and decided to solve the problem myself. Also because I’m always up for a new challenge, and I love building things. So, I decided to create a tool that would allow me to do the same, but without the download requirement.

I managed to put together a Rails app that helps me create SSH reverse tunnel commands on a simple and easy to use graphical interface, and use Nginx to reverse proxy requests to the SSH tunnel port. The interface would automatically setup Nginx virtualhosts (server blocks) for me, and give me random URL’s of my personal domain.

Now, all I have to do is figure out a way to not have to type giant SSH commands in a terminal window every time I want to open a tunnel. I thought: how can I solve that problem, and make it work on any computer I want? That’s when the swiss army knife of sysadmins came in handy: Bash! (sorry Windows users, no luck for you, unless you use cygwin)

So, instead of typing a large SSH command inside a terminal window, all I have to do now is to paste a CURL command generated by my app, and pipe the output to bash -s, and voilà! The output of the CURL command has all I need to start the tunnel, plus some nice features like reopen the tunnel if the connection drops. CURL will use a unique URL, randomly generated to avoid security problems.

Will it work?

So, it’s time to test. Tunnel created via web interface. Check. Paste a command on a terminal window and open the tunnel. Check. Random URL generated. Check. All I have to do is to tell stripe to send webhooks to that URL. And it worked like a charm!!!

Enter Burrow.io

This app solved a huge pain for me. Turns out that it solved a different pain for my coworkers – quickly showing each other what they are working on, without having to memorize IPs or setup DNS.

After that I decided to give it a name and put it online: https://burrow.io.


Go check it out and let me know how Burrow solves a problem for you!

ShareFrog v2 is online!

You know when you go to a networking event, or a conference, and you collect all those cards, or you Bump everyone but 2 weeks later you can’t remember when/where you met that person? What about when you are in a group and nobody have the same phone or contact-sharing app? There is gotta be a better way! That’s why I created ShareFrog.

ShareFrog lets you share contacts in a group the way it is suppose to be: lightspeed, no downloads, no typing, no bumping. Just ask your group to go to http://sharefrog.me on their smartphones with geolocation enabled and tap the faces of whom you want to share contacts with!

After the double opt-in is detected, both of you will get an email with each other’s contact info with the address, venue and time you met!

ZERO hassle!

Youporter gets selected for the The Johns Hopkins Innovation Factory Summit

youporter.comI am pleased to announce that my startup Youporter was one of the 8 selected among 36 startups that subscribed for the contest!

Youporter combines the power of social media with geolocation data and live stream of content to help media organizations to break news faster and/or achieve better pulverization with low cost, reaching anywhere there is a person with a smartphone and internet connection.

Check out the video:

Before Youporter, a small tech blog from Brazil could not afford sending someone to cover events like Google I/O, for example. Now the same blog can hire a correspondent at youporter.com, and be able to have much richer content on their website, by hiring a youporter that will send them live streams of video,audio or pictures of the event. And that same youporter can get another request from a german newsroom, giving him a specific question to ask, while the audio is recorded and sent to the newsroom.

We do that by providing a mobile app to youporters that links them to virtual newsrooms, giving anyone, wether in the blogsphere or in the mass media, the power to activate youporters on the ground.

Here is another example:

Imagine there is a shooting at the mall (or imagine any other breaking news event). A TV channel finds it using social media, or listening the police radio, or any other method they might have. They want to send a team there to do the coverage, but they are all busy or too far to get there in 5-10 minutes. With Youporter, the TV channel would be able to see on a map everyone that is close to that area with a smartphone (we call them youporters), and send them a request to go do a coverage from their phones, sending live video, photos or audio, while they being directly controlled by the TV channel’s newsroom. As a result, the TV channel will cover much more areas, at a much lower cost.


Sharing contacts with ShareFrog = no hassle

SharefrogImagine you are in a group of people, and you want to share contacts with each other. How would you do it? Your answer might be Bump, but  I’ve tried it many times, and it’s always a hassle – not everyone in the group has the app or want to install it, and even if they had, we would have to bump with each other multiple times. In a group of 3 people it works ok, but with 6 or more people it starts to be really annoying. A month ago I was in a situation like that, where we ended up writing our contact info on a white board, and each one took a picture of it. That’s just unacceptable! The solution for this problem should be simple and universal.

That night I went home and created ShareFrog – a webapp that lets you share contacts the way it should be! It uses a combination of a PIN and geolocation to create a list, where each person of the group can add their own contact info, and then they can add each other to their phone address book by tapping their names. It is a no-brainer!

Try it yourself. Make sure your GPS is active on your phone, go to sharefrog.co/myfirstlist. Then ask a friend that is close to you to do the same. Add your contact info and you are all set. It’s that easy! No downloads, no waste of time :)

I hope ShareFrog will help you as it has been helping me, especially at startup and hackaton events. If you like it, share with your friends!

A coding journey

I keep having those crazy website and mobile apps ideas. The problem is that my coding skills were always close to zero. Don’t get me wrong, I’ve coded before, but it was a long time ago. All those years as sysadmin helped me master my bash-scripting-fu, but anything objected oriented always seemed very obscure to my mind. Since I moved to Canada, I’ve been working from home and decided to walk my way through the developer’s world.
I decided to learn Ruby after reading many articles about it, and also because it seems that its community is huge, which makes it easier to find help online in case I’m stuck on some error. The learning curve is impressive. I spent a week watching the Ruby Kickstart classes, then jumped on the book “Ruby on Rails Tutorial” – from Michael Hartl. I strongly recommend those links if you want to learn Ruby on Rails (RoR). One month after my first contact with the language, I started working on a idea with a friend. It’s called Spottaneous. Go check it out :)
Feels really good to have an idea and be able to actually prototype it. My advice is, if you have an idea but you can’t build it on your own, learn how to code and then build it. It’s a nice learning experience, and in the end, if your idea proves itself wrong, at least you will have a new (and profitable) skill.