shanif.net
  • home
  • my pov
  • resumé
  • portfolio
  • contact

Portfolio

Software Development:

  • Intigril
  • Wamily
  • My Own Six Words
  • Weight management application
  • Program Management Environment
  • PDS simulator
  • Sensor network simulator
  • P2P application
  • Robot control software
  • Finite state machine transducer

Analytical:

  • Intigril
  • Dining hall simulation
  • Baseball draft
  • Vehicle trade study
  • Catalog distribution case
  • Vineyard case
  • Linear statistical models class
  • Stochastic decision models class


Intigril – Founder, developer, analyst
2008 – Present

Intigril, LLC is an options trading and information services business that I founded in 2008 and am now working to grow and expand. Intigril started as joint project between myself and two colleagues of mine as a way to generate large returns in the markets by using a combination of value investing and options. Intigril later grew to encompass all sorts of trading strategies and now provides information and education on options trading.

My role in Intigril is multi-faceted; I utilize my background in analytics, simulation, and modeling (from my Systems and Information Engineering degree) to perform quantitative analysis and market research related to stocks and options. As I was building Intigril, I taught myself about the fundamentals of investing and analysis. I learned about company valuation, how to create discounted cash flow analyses, the basics of return on investment, return on equity, and other financial fundamentals, the fundamentals of options trading, and other investment topics.

In addition, I handle business logistics, such as filing paperwork, handling taxes, marketing, and operations. Part of my duties are to conduct analytical and market research on companies of interest. As such, I created a quantiative analysis methodology which analyzed a company’s fundamentals (such as level of debt, managerial performance as measured by return on equity, profit margin, and other such factors), stock price and other data points, and utilized the results to rank companies in terms of stability and highest potential for price growth. This methodology was originally a manual process, implemented in Excel, and required several hours to research and analyze a mere handful (20-30) of securities. However, after I fully automated it (in Ruby and using BackgrounDRb, multithreading, and screenscraping techniques), I was able to fully research, analyze, and rank up to 550 stocks in four hours. Intigril’s database now contains nearly 3,000 stocks and their fundamentals, which are updated nightly over the course of 10-20 hours. This number is limited only by my available hardware processing capabilities. In addition to creating and automating this process, I have worked on the company website.

The site was built in Ruby on Rails and utilizes MySQL as the backend, and the ranking process is an implementation of a trade-off analysis, implemented in Ruby.

Go to site (please note the analytical tools are currently not available to the public)


Wamily – Board member, developer
2006 – 2007

Wamily, whose name came from a combination of ‘web’ and ‘family’, was a startup that attempted to create a groundbreaking website designed to allow real life groups to better function online. The website allowed individuals to create unique, customizable web areas (called Wamilies) for each of their real life groups. It provided various communication and collaboration tools to those groups, and it also allowed individuals to easily organize and view all of their Wamilies in one easy to navigate site. It provided public and private profile pages for each user, so that he or she could give an introduction to the rest of the users on the system. One of the goals of the site was that users could quickly and easily create their own social networking sites for the groups that truly mattered to them in real life. The site was a combination of various other sites and ideas, including group communication functionality as found in Google groups, social networking tools and profiles as found in Facebook or MySpace, and drag and drop widgets as found in Netvibes or Protopage.

I joined Wamily as a board member and developer a few months after it was originally founded. While I was with the group, I created or assisted in the creation of many of the widgets (called Wamlets) used on the site, as well as the user interface and design of the site. In addition, my responsibilities included participating in design, strategy, and board meetings to determine the future of the startup. In the Spring of 2008, the LLC dissolved. The site is currently not online, however if you click the link below you will be able to see a screencast of the site which I recorded while the site was still online.

View demo


My Own Six Words – Co-creator, developer
2009

My Own Six Words is a site that attempts to disprove the old adage that a good story can’t be told in less than a paragraph. It’s a site that I created, along with one of my friends, Gian Cruz, to allow our users to tell their stories in exactly six words. Users of the site can upvote or downvote individual postings, which allows us to rank the highest posts. My Own Six Words was created in Ruby on Rails using a MySQL backend.


Weight management application – Creator, developer
2004 – 2006

I am into fitness and health, and I usually watch my calories on a daily basis. I wanted to ease the process of recording my calories and getting instant feedback on my current standings, so I decided to create a database-backed desktiop application which would allow me to do so. The weight management application I created allows me to quickly enter new foods, record the foods that I ate, enter new exercises, and record the exercises that I performed on any given day. The application was created in C# and used Access as the database, and it was later ported online to PHP and MySQL.

View demo


Program Management Environment – Project Technical Lead
2008 – 2010

PME, which stands for Program Management Environment, is a web application that I helped develop for my previous employer. It allow the company’s staff, clients, and subcontractors to manage all aspects of their major projects through a web-based interface. The site is composed of a set of customizations and configurations to the Microsoft Office SharePoint Server 2007 and Microsoft Project Server 2007 platforms.

For two years, I was the project’s technical lead and was responsible for ensuring that our product matured appropriately without sacrificing software and process quality. I managed a number of developers and testers and ensured that they worked efficiently, effectively, and delivered releases on time. As a manager on the project, I implemented several new agile programming policies, interacted with managers from all three other departments in the organization, and took responsibility for setting timelines for new functionality, managing both internal employees as well as external contractors, minimizing the number of bugs found in the software, optimizing the development and testing processes, and acting as a reference for the developers, upper managers, and system administrators for SharePoint topics. While on the project, I also performed basic SharePoint administration and spearheaded the implementation of SharePoint features, feature staplers, and solution packages for deployment. In addition, I integrated and tested third party tools, as well as performed various system administration tasks to ensure proper operation of the application. During my time on the task, I also implemented an agile development process known as Scrum, which improved release time and team cohesion while minimizing work required after hours and improved code quality. During the process, I also became a “Certified Scrum Master” as noted by the Scrum Alliance.


Sensor Network Simulator – Creator, developer
2005-2006

During my senior year of college, I participated in a capstone project that dealt with the optimization of sensor network resources. The goal of the project was to determine an algorithm that individual sensors in a sensor network could use to minimize the usage of important resources such as battery and bandwidth while maximizing the utility (as defined by an end user) of information that was delivered. I worked as part of a five person team that was tasked with developing and testing the algorithm in a variety of scenarios that pertained to urban warfare (our client was part of the Department of Defense). Because we did not have enough individual sensors to test our algorithm, we created a simulation engine that would allow us to simulate the movement of enemy units towards a target within a sensor network.

My colleagues were tasked with creating the algorithm and testing the hardware we did have so we could provide meaningful inputs to the simulation engine. I was tasked with creating the engine itself. The program I developed, which was approximately 13,000 lines of code, was created in C# and allowed users to load XML scenario files which determined the geography of the area, as well as the location of individual sensors and targets. It then read in the XML files, created a graphical representation of the scenario, and then proceeded to simulate the movement of enemy soldiers within the sensor network, as well as the usage of sensor network resources and the routing of information along the network. The program utilized methods from discrete event simulation, implemented various optimization algorithms (such as Dijkstra’s and A*), and recorded basic statistical properties for later analysis. My capstone group published a report on our research in an IEEE journal, which was referenced by future capstone groups in their own research.

View demo
View paper (PDF)


PDS Simulator – Lead developer
2007

A client of my previous employer was undertaking a project that would enable digital communications between vehicles and roadside equipment with the help of embedded computers and radios. My firm was creating a proof of concept system to research the feasibility of such a system, and the developers of the various algorithms used by the system needed a testbed for their work.

I was tasked with creating a system that would allow its users to enter, delete, and edit the properties of data recorded by cars as they traveled alongside the roadways. I managed a team of two other developers in the process of creating an interactive web application that would allow its users to do so. The web application was created using a Model-View-Controller (MVC) design pattern implemented in Java Servlets and utilized Oracle 10g as the backend along with AJAX for interactivity and OC4J for GIS plotting. It also used a makeshift datamart which I created to load and store data points used by the application. I was able to coordinate the activities of the other two developers, as well as myself, while simultaneously teaching them about MVC to create an application that delivered required functionality without exceeding deadlines.

View demo (please turn down your speakers, as the volume on this screencast is rather loud)


Peer-To-Peer Application – Developer
2005

The final project for my “Distributed Systems” course in college involved creating a peer-to-peer application based on the Gnutella search protocol. The goal was to create an application that could simulate the basics of a P2P system such as Kazaa or Napster. I created the application in C# using TCP/IP sockets; my partner created the documentation.

Download the code (zip file)


Robot Control Software – Lead Developer
2004

This was a two-part application designed to create software to control the Evolution ER1 robot. The goal of the project was to simulate control software for the Mars rover. The first part of the software was placed on the control laptop for the robot, which sat on the robot’s hardware itself and simulated the rover’s on-board software. The second part, which I primarily developed, ran on a separate computer and simulated the ground control software. The two portions communicated over a wireless network using a TCP/IP sockets and a custom-developed communications protocol created specifically for the project. All portions of the software were developed in C#.

Download the code (Word document)


Finite State Machine Transducer – Developer
2005

Our final project for my Discrete Math class (where we learned about Turing’s theories, finite state machines, languages, and computer theory) was to create a finite state machine (FSM) transducer. The FSM transducer we created was written in Java (per the requirements) and was able to accept, process, and produce output for a changing input language. My group was one of two to actually complete the project. I was a supporting developer on the project and wrote about 40% of the resulting code.

Download documentation and code (zip file)


Dining Hall Simulation – Developer, analyst
2005

One of the classes I took as part of my Systems and Information Engineering major was called “Discrete Event Simulation”. The class dealt with different methodologies for creating and executing simulations. For our final project, we were to create a discrete event simulation using Rockwell Arena, a simulation package that allows for creating and recording the results of graphical simulations.

Our project focused on queue times at a local dining facility, named “The Castle.” For our project, we decided to record wait times at the various food stations in The Castle and then model them in Rockwell Arena to determine which stations were causing the largest backlog and causing the most loss in profits. We spent a week recording station wait times throughout different points in the day, and then created a new model in Rockwell Arena with our observations as the basis for input distributions for the model. I assisted in the recording of data, and I was also the creator of the model in the software package. I used the various basic model building blocks to create a graphical discrete event simulation of the processes we saw at The Castle. After running the simulation enough times to achieve statistical significance, we recorded our results, and proceeded to perform a statistical analysis. Part of the effort required for that analysis was to fit our data to a distribution curve, determine quality of fit, and report on our findings. Though we did not present our findings to the University administrators (since this was the final project of a single class), we found that they had reached the same profitability conclusions that we had arrived at, and they subsequently removed the food station that had the worst performance in the dining facility.

View demo
View paper (PDF)


Baseball Draft Analysis – Analyst
2005

My favorite class in college was called “System Evaluation”, and it dealt with solving business cases using innovative thinking within the confines of relevant data that was provided to students. One of the cases provided to us dealt with a fictional baseball draft. We were given various baseball statistics on several unknown players, and our goal was to come up with a strategy for selecting the unknown players in an in-class draft in such a way that our resulting team would be under salary cap, under the maximum number of allowed players, and have a maximized chance of scoring the most runs. With the data that was provided to my group, we realized that the “on-base plus slugging” (OPS) data point had the highest correlation with runs scored, so our strategy was to select the players with the highest OPS values during our draft. In order to dynamically re-evaluate constraints (such as the maximum number of players and the salary cap) during the draft, we created a linear model in Excel solver to allow us to automatically determine the best player to choose during the draft. Our group was the only one that came up with this solution, and when we used it during draft day, we ended up with the best team.

View project files (zip file)


Vehicle Trade Study Analysis – Analyst
2005

This case from my System Evaluation class introduced me to the idea of a trade study — essentially, a method for objectively ranking alternatives based on criteria of different, yet known, importance. The goal of this case was to choose a vehicle based on different criteria given constraints for various attributes including price and safety.

View project files (zip file)


Catalog Distribution Case – Analyst
2005

This was a case study from my System Evaluation class that dealt primarily with statistics. The background of the case concerns itself with a fictional marketing company which has been approached by a high tech catalog company. The catalog company has determined various demographics that it would like to reach out to with promotional coupons, and the job of the marketing agency (the students), is to figure out an optimal strategy for the mailings. I was the lead analyst in our group and determined a strategy for mailing which would optimize profits based on the sample data and results that we received. Additional information is available inside the project files.

View project files (zip file)


Vineyard Case Analysis – Analyst
2005

This was another case from my System Evaluation class which dealt with probabilistic decision making. The case was set at a vineyard during harvest season. A farmer had to decide whether or not to harvest his grapes at the present time and ensure a guaranteed profit per bottle, or wait until after a potential storm, at which point his grapes could go bad and produce a lower profit, or grow a special mold which would improve the taste of the grapes, consequently raising the profit per bottle. In addition, the case involved the availability of additional, yet possibly inaccurate, information (at a cost). The job of my group was to determine the optimal decision for the farmer based on the probabilities provided.

View project files (zip file)


Linear Statistical Models Class – Student
2005

Linear Statistical Models was a class I took during my last year in my Systems and Information Engineering degree. The class focused primarily on developing and interpreting multivariate linear regression models in order to determine the relationship between various factors in a dataset. Many of the analyses that we undertook contained massive amounts of data, which we were supposed to analyze in order to determine the statistical correlations between the independent and dependent variables. Throughout the course, we used the S+ statistical software package to analyze and inspect the data. The largest problem we faced was in determining the set of factors that had led to demise of the Columbia space shuttle. We were provided with a variety of data points on various shuttle components and asked to determine which of these were most likely to have caused the demise.

View class files


Stochastic Decision Models Class – Student
2005

Stochastic Decision Models was a class I took during my third year of Systems and Information Engineering degree. The class dealt with determining the probabilistic and stochastic relationships between predicted and observed data, and involved heavy mathematics and large problem sets.

View class files

© 2012 Shanif Dhanani