Tariq Ali is an aspiring web developer dedicated to producing interesting applications and websites for businesses. Before entering into web development, Tariq served as a journalist, real estate agent, and college instructor. He has a special talent in writing and researching effectively. Call Tariq Ali at 480-580-8960 or email him at tra38@nau.edu.

Technological Spikes (2016) - While working at Firespring, I wrote minor applications to determine the feasibility of new projects for the company.

  • Setting up an insurance rate calculator, using NodeJS as a reverse-proxy server to allow us to query an external API.
  • Rebuilding an internal website (the "Checkin Board") using the ReactJS framework.
  • Creating an online form, while using RSpec and FactoryGirl to test the functionality of this form.

UTradeBook (2015) - As part of my work at Serene Technologies, I wrote a basic website to allow college students in Canada to buy and sell books online. This web app is built using Ruby on Rails, and uses Ruby, Bootstrap, and JQuery. (closed source)

Content Management System (2015) - Digital Fractal Technologies commissioned me to build an internal web application that will allow them to update the content on their 'tour guide' mobile applications. The web app is built using the Sinatra framework, and uses Ruby, Bootstrap, JQuery, and JCrop. (closed source)

Wordpress Websites (2014) - Dr. Syed Azeemuddin commissioned me to build and maintain several Wordpress websites, including one for a 501(c) non-profit organization. I also was in charge of checking and responding to other people's emails as well as sending out regular newsletters. (COMPLETE)

"Teaching Computers How To Write", a lighting talk presentation delivered at the Janurary 2016 meeting of the Houston Data Visualization Meetup group. Gives a high-level overview of text generation.

"Meet Your Audience", a full-length presentation delivered at the June 2016 meeting of the Ruby and Open Source Meetup in Lincoln, Nebraska. Discusses 'bot traffic' (the 48.5% of all online traffic), the different types of bots, and what steps can be taken to block bots.

"Open Source Contributions - A Story About Calyx", a lighting talk delivered at the August 2016 meeting of the Ruby and Open Source Meetup in Lincoln, Nebraska. Explains my experiences in contributing to Calyx, a Ruby gem that focuses on text generation.

Zombie Writer: Ruby gem that generates short news articles based on rearranging the order of user-provided paragraphs. Provides proper citation (in the form of a hyperlink) to the original sources of these paragraphs. Users can specify whether they want to use "machine learning" (Latent Semantic Analysis and K-Means Clustering) or "randomization" when generating news articles.

Classifier-Reborn: A Ruby Gem to enable users to use machine learning algorithms (Bayesian and "Latent Semantic Indexer") to classify data. I provided a small bug fix that resolved two outstanding issues.

Calyx:A Ruby Gem that makes it easy to do text generation. I serve as a contributor to the Gem, implementing the feature of loading JSON and YAML files and debugging an existing feature that allows the gem to accept and handle raw data.

Tra38-Calyx: Fork of "Calyx". Ruby Gem that makes it easy to do text generation. The gem can accept and handle raw data, making it very useful for robojournalism. The gem is available on Rubygems.org and can be installed by typing gem install tra38-calyx. This gem is no longer being maintained, as the features in this gem has since been implemented in the main Calyx gem.

Prolefeed: A Ruby gem that generates stories by randomizing the order of user-written paragraphs. The end result is surprisingly readable.

Skynet - A command-line program designed to generate fictional stories based on a user template. The gem is not available on Rubygems.org and can only be downloaded from GitHub.


  • The Track Method - Arranges paragraphs using a specific structure (the "Track Method") inspired by the Story Compiler approach invented by Chris Pressey. The resulting novella is 13,606 words. However, since the corpus was old-fashioned, the generated text also seems old-fashioned as well.


  • The Atheists Who Believe In God - Uses a dataset (a Pew survey) to generate short stories about a specific demographic...self-described atheists who claim to believe in God or a universial spirit
  • Cyberpunk Corporation Generator - Uses a templated approach to generating short "histories" about futuristic corporations.
  • (NaNoGenMo: Dada 2.0) 2.0 - Randomly arranges the paragraphs of a preexisting news article, thereby "creating" a new article. Major inspiration for the "Prolefeed" Ruby gem.

StackAI: An aggregator of 'artificial intelligence' questions from six StackExchange websites - built using Ruby on Rails and Bootstrap. Built before AI StackExchange entered public beta. Source Code

Architect: A small Ruby script that can generate stories based on a noun prompt, as an entry into the DigiLit competition being held at Dartmouth College's Neukom Institute for Computational Science. You can read a postmorterm of this program here.

Hashography: Hashography is a group project made during Dev Bootcamp. It visualizes how users are tweeting about certain words in real time, around the world. Written entirely in Javascript, it utilizes the Twitter and Google Maps API, Node.js, and Socket.io. Source Code

Friend Computer: A program that is able to write blog posts by using Twitter and AlchemyAPI. Will eventually expand to blog other datasets as well. Source Code

Zybourne Clock Redux: A "time modification" game, where users are able to change the history of a steampunk planet by adding and deleting events. The game uses JavaScript, JQuery and MaterializeCSS, with Ruby on Rails used as a scaffolding system. Source Code

Tic Tac Toe Challenge (source code at link): A program that allows you to play Tic-Tac-Toe in the command line. Created as part of a coding challenge for 8th Light. Coded entirely in Ruby.

Science-Fiction Calendar: A project that will determine information about a planet's own calendar system, based on astronomical data. (IN PROGRESS, is able to produce a rudimentary calendar system, but need to still provide labels to it)

Click here for all open-source projects