Manu Raghavan

Voxology

Modern Phones for Modern Businesses

Voxology is a productivity platform for teams that do a lot of business over the phones. It allows teams to be a lot more productive by integrating their phone calls into the apps that are already critical parts of their business workflow, like CRM and helpdesk software suites.

Demo

Name That City

Can you name a city from only the street grid?

Inspired by a Washington Post feature on recognizing cities by their street grids alone, I made a version to cover more cities from around the world. And because no two people share the same set of experiences, I made this further extensible by allowing you to design your own quizzes.

If you enjoy playing, share it with a friend.

Demo

Minesweeper Classic Redesigned

As a side project in learning about Electron, a desktop application framework, I built out a clone of Minesweeper. The original variant of the game has provided me much entertainment over the years, and I’ve become quite the reflexive player. I’ve released it a desktop app and for the web, whatever works better for you. What I’d like to do next is explore variants of the game. Feedback is welcome.

Demo

Source available on Github
License: MIT

Reverse Minesweeper

So, you’ve played Minesweeper. And you can mark mines like nobody’s business. But what if there was a twist on an age-old game?

Reverse Minesweeper is a world where mines are surrreptitious, but the objective remains to mark all mines. Here are the rules:

  1. Some of the blank squares are mines.
  2. Clicking on a box will mark it as a mine.
  3. Clicking again will unmark it as a mine.
  4. When you mark all mines, and no incorrect boxes, you win.
  5. You cannot lose, except by giving up.

Demo

Source available on Github
License: MIT

Quickstart Rails on Docker With Sessions

Less boilerplate, more productivity

If you’re starting a new web application and you’re looking to install/use Rails, you’ll know that setting up the environment can take up a long time.

Between installing the right Ruby with rbenv, a database server, users, sessions, write a login flow, and writing a signup flow it can take a loooong time to get to the point where you’re doing something uesful.

Enter docker.

Docker, if you haven’t heard of it, is a containerization framework that lets you run services on reuable, standard Linux containers and run them on AWS, Azure, Google Cloud Engine, or your own OS X or Windows host machine!. There’s a lot of jargon here, but this is what it means for you:

  1. It’s faster to start a new project. You can worry less about installing boilerplate services like the web app, a million dependencies (gems, native extensions, etc.). You can get straight to coding what’s important, what’s fun – your application logic.

  2. Write once, run anywhere. Provisioning and deploying a production instance (even on another operating system!) is just one line of change: RAILS_ENV=development to RAILS_ENV=production

Step 0. Install Docker and Docker Compose on your host

Installation: https://docs.docker.com/engine/installation/

If your host machine runs OS X or Windows, the native Docker Beta which uses native virtualization - xhyve VM with an Alpine linux kernel on OS X - is recommended. This has less overhead than using the older boot2docker service, which runs a full traditional VM over VirtualBox.

Step 1. Clone this repository

git clone git@github.com:manur/docker-rails-baseline.git

Step 2. Build a network of containers


 cd docker-rails-baseline
 
 # Build docker container network
 docker-compose build
 
 # Deploy docker container network
 docker-compose up
 
 # Create database and run migrations
 docker-compose run web rake db:create db:migrate
 

Step 3. Go forth and prosper.

Your Rails web server runs on a docker container, and is port mapped to localhost:3000. Your Postgres database service runs on a docker container, and is port mapped to localhost:5432

Step 4. Spinning down docker containers:

docker-compose down

Result

Source

Panjiva Connect

Biz dev data and tools for international traders

Panjiva Connect was an information and communication platform for suppliers looking to expand their customer network of buyers engaged in international trade.

It helped with buyer prospect discovery via a faceted search engine of contact and customs import data, communication fluency for non-native English speakers to professionally express themselves with templates and tips, a recommendation engine to mine past actions and suggest relevant connections.

Gold Silver Nexus

Bullion trading marketplace in Southeast Asia

GSN was a trade platform for gold and silver bullion in Southeast Asia.

Panjiva Buyer Inquiries

Ad marketplace for international traders

Panjiva Buyer Inquiries was an ad marketplace where buyers engaged in international trade could submit requests for quotations and gain introductions to suppliers at factories and traders.

MATLAB™ git interface

Source control for MATLAB

I wrote one of the earliest submissions on the MATLAB File Exchange for connecting MATLAB with a git source control repository. See git.m on the File Exchange.

P-Lisp

An experiment with teaching programming graphically

We wrote a new flavor of Lisp, as a side project, as an experiment with teaching programming. The idea was to illustrate that simple commands like (left) and (right) could be constructed as simple macros, that changed the underlying state of a moving dot, thereby controlling its path.