Your friends at Viget present Extend, a Code & Technology Blog

The Secret, Custom Web Applications That Power Viget

At Viget, we specialize in solving business challenges with custom software.

Most of the time this means finding new opportunities and solving existing problems for clients. But between projects, we turn our problem-solving machinery to work for ourselves.

Viget has made some great public apps over the years (SpeakerRate, PowWow, Shorter Order, Baby Bookie, SocialPiq, etc.), but we've made even more that have never been known to the public... until today.

Quick IoT Prototyping with Ruby/Rails and the Spark Core

The Internet of Things revolution is upon us. Our phones are getting smarter, internet is becoming more accessible, even dogs have connected accessories. Making these products isn’t limited to electrical engineers or obscurely funded start-ups; with a little bit of programming knowledge and the right tools, you can make your own connected ______ in no time.

Building a Conference Room Hero with Custom PCBs and 3D Printing

“Houston, we have a problem.” Viget’s conference rooms are active. And I mean active. Meetings, ad-hoc phone calls, pairing sessions, even 3D printing, all take place in our conference rooms. As a result, finding a room in a moment’s notice can be something of a challenge. Last year, we explored hanging colored origami lanterns outside conference rooms. Like “ON AIR” lights, we wanted to make it super simple to know which rooms were available and which were not. We called these “Illumigami” lanterns.

It wasn’t long before Illumigami became an office staple. As you can imagine, the elegant solution was not only effective, but fun for office staff and an eyecatcher for office visitors. It was a prototype that worked well and the other offices were eager to try it out. So, we hit the whiteboard and re-imagined Illumigami. It needed to scale across our other offices and their unique conference room situations. The result is a journey that you may find interesting if you’ve ever been curious about custom circuit boards or 3D printing.

Script Persistence: Writing fail-safe, idempotent Ruby scripts with PStore


Nothing makes me happier as a programmer than automating monotonous and incredibly time-consuming tasks with a quick script.

Increasingly these scripts tend to involve interacting with external (read: unreliable) systems. Oftentimes this unreliability can suck the fun right out of scripting. Run a script. Watch it fail halfway through. Go clean up after the partial execution. Run script again. Watch it fail at 99%...

So how can we make potentially unreliable automation scripts fun again? Idempotency.

An Engineering Design Process

Our recent explorations into the world of connected hardware have taught us a lot about the engineering design process. Namely, engineering design is not a linear path, but a highly creative and dynamic process characterized by problem definition, rapid iterations, and working solutions. I’d like to take some time to touch on this process by illustrating its nuances within the context of a novel internal project: The Whiteboard Cleaner Bot.



Whiteboard cleaning prototype: An internal propeller pushes a rotating cleaning head into the whiteboard.