+ Web Applications

Beaudini.com - women's hair products

With a team of 3 developers, I took the lead on designing and implementing a secure e-commerce site that leverages current HTML, CSS, and JavaScript technologies.

Tetris - Harvard University

When I served as a teaching fellow for a mobile applications class, the students' first project was to develop Tetris using HTML5, CSS3, and Javascript. The professor tasked me with creating an example solution to demonstrate to students. I built this in approximately 3 days, in a very narrow time window - thus, please excuse the imperfections.
[screenshots]

Video Info Entry for Website (VIEW) - Alhurra TV

This application is meant to act as a liason between tv producers, digital media technologists, and legal. The intent here is to have tv producers submit requests for videos to be uploaded to YouTube, which are then cleared through legal, and lastly updloaded by the media technologist. The front end is developed using HTML5, CSS3, and Javascript. Server-side scripting is via php, and the database system is MySQL.
[screenshots]

User Generated Content (UGC) - Alhurra TV

This application enables the end user to upload photos and videos to the destination website. This application also features Tweets from a select handle. Given the usage limit defined by Twitter, I created my own Tweet caching mechanism using php and plain text files. The front end was developed using HTML5, CSS3, and Javascript. Back end server-script was php. No relational databases were used here.
[screenshots]

Music poll voting app - Alhurra TV

This application enables the end user to vote for 5 of their favorite songs, out of a list of 20 pre-selected songs with sound samples. The administrators have their own interfaces to upload artist images, song samples, submit polls, and to view poll results. The front end was developed using HTML5, CSS3, and Javascript. Server-side script was php and MySQL. Here, I experimented with an unconventional back-end method to have the artist images and song samples uploaded. The user simply uploaded the image/clip, and based on its name, the system queried the database and overwrote the correct entry.
[screenshots]

Restaurant waiter tips system - Lebanese Taverna

This application is made for the wait staff to use in 6 restaurant locations. Each waiter inputs their share of tips at the end of the night and the app does the payout calculations. The data is immediately stored upon changing cells (using AJAX) and is stored in a MySQL database. The data is automatically loaded for each location by its IP address. The app is mainly used on the iPad, and the resultant sheets are printed wirelessly. The front end was developed using HTML5, CSS3, and Javascript. Server-side script is PHP.
[screenshots]

Cinegy Migration System - Alhurra TV

When I was an IT Broadcast administrator, we needed to migrate ~ 80,000 video clips from our proprietary video production system, Cinegy. As there was no off-the-shelf solution, I stepped up and took on the challenge to develop this internally. Since the format of the clips was proprietary, I had to create a few subsystems that would encode the existing video clips into an mpeg-2 compliant format for our newly adopted post production system, Oasis (by BitCentral). Each resultant file included a high res clip, low res clip, a screenshot of the first frame, and an XML file that contained the metadata for the new system. The end user only saw an asp based web app, in which he/she entered the metadata and location of the clip to be migrated. The end product saved us hundreds of thousands of $'s. The technologies that were used here were asp, vbs,vba, xml, and ffmpeg.
[screenshots]

Interviews Cloud - Alhurra TV

In this application, tv producers log in and record their interviewees' contact information and register the content of the interviews. There are 3 different types of users in this web application: Viewers, class A, and class B user. The difference between class A and B is that class B users cannot see interviewees' contact details that were entered by class A users. Most of the behavior in this app is AJAX based. Front end utilizes HTML5, CSS3, Javascript (vanilla + JQuery). Back end is php. The RDBMS used is MySQL.
[screenshots]

+ Websites

Persian restaurant website - Cafe Natasha

A website that I built for a Persian restaurant. The design and theme are all custom. I used Wordpress as a CMS.
[screenshots]

Jernaya Church - Fundraising

A static website that I had built for fundraising the building of a new church in the village of Jernaya. Basic technologies used here were HTML5, CSS3, and Javascript.
[screenshots]

Syria Stories - Alhurra TV

An initiative to present the ongoing struggles in Syria, from the perspective of a 6 selected participants. I used Wordpress for the CMS. The theme is completely custom. The look and feel on mobile devices are completely different, as they pertain to different HTML markup.
[screenshots]

Code 5 - Alhurra TV

An experimental mobile website built using Sencha Touch. I must say, the learning curve was a bit steeper than other mobile frameworks such as JQuery Mobile and jQ Touch.
[screenshots]

+ Web Visualizations

US electoral map - Alhurra TV

An interactive US electoral map that I built using HTML5, CSS3, Javascript, and D3.js. The data was pulled in real-time from a Google Doc, which I had prepped for admins to use. The electoral map was both used on Alhurra TV's website and television stream.
[screenshots]

How far do I have to walk to find a job? (Middle East) - Alhurra TV

An interactive web visualization that I had initiated and developed, to show the possible countries that an individual can move to within the Middle East to find a job. The idea here is that people basically want to move to countries with lower unemployment rates than their own countries. I extracted the data from the CIA Factbook. Technologies here used were HTML5, CSS3, Javascript, and D3.js.
[screenshots]

Discover Boston 2013 with Zillow.com - Harvard University

An interactive web visualization that my colleague and I created for real estate in Boston for 2013. We wrote a scraper in Python and extracted over 5000 listings from Zillow.com. The visualization includes a choropleth map, a scatterplot diagram, and a time series bar chart. We built custom controls for the user to adjust the views based on their task at hand, be it to find the cheapest property or to just get a ballpark figure of how much it will cost to purchase a house say in Beacon Hill. The technologies used here were Python, HTML5, CSS3, Javascript, and D3.js. Upon completing this, we pitched it to a senior economist at Zillow.com.
[screenshots]

+ Teaching @ Harvard University

Teaching fellow for CS75 - Building Dynamic Websites [2 times]

In this course, students learned how to build dynamic websites using PHP, MySQL, HTML5, and Javascript. In addition, students learned to apply the MVC pattern to their applications. My role here was to grade my alloted share of students on all assignments and projects. In addition, I fielded questions on the class discussion board and gave out 1-hour sections on select topics. I served as a teaching fellow 2 times alongside Dr. David Malan, who now holds the biggest computer science class at Harvard University - CS50.
[pictures]

Teaching fellow for CS76 - Building Mobile Applications [3 times]

In this class, students learned how to build mobile applications mainly in Android and iOS. In addition, we covered bulding mobile web applications using HTML5, Javascript, and CSS3. The second and third (CS65) iterations of this class also covered the internals of the 3 prominent mobile OSes (Android, iOS, and Win8). My role here was to grade my alloted share of students on all assignments and projects. In addition, I fielded questions on the class discussion board and gave out 1-hour sections on select topics.

Teaching fellow for CS15 - Dynamic Web Applications [3 times]

In this class, students learned how to build web applications using HTML5, PHP, and Javascript. The class delved into versioning control with the use of Git. In addition, a big chunk of the course was geared towards a select PHP framework. My role here was to grade my alloted share of students on all assignments and projects. In addition, I fielded questions on the class discussion board. I also gave out 2 2-hour sections, weekly, for the entirety of the 4-month semester; for this, I used Webex.

Teaching fellow for CS3 - Introduction to Web Programming with Javascript [7 times]

In this class, students learned how to use Javascript syntax as well as working with objects and prototyping. I fielded questions on Piazza, gave out 1-hour weekly sections on Collaborate, and graded homeworks and projects for my share of students (~30 students).

Teaching fellow for CS171 - Visualization [5 times]

In this class, students learned the cognitive and design principles behind data visualization. In addition, students were thoroughly exposed to d3.js to building dyanmic and effective web visualizations. I fielded questions on Piazza, gave out 1.5-hour weekly office hours, and graded homeworks and projects for my share of students (~17 students).

Teaching fellow for CS31 - Introduction to Web Application Development Using Node.JS [2 times]

In this class, students went through the MEAN stack comprehensively, and finally showcased their knowledge by building a full web application using Node.JS, Express.JS, MongoDB, and Angular. I fielded questions on Piazza, gave out 1-2 hour weekly sections, and graded homeworks and projects for my share of students.

Contact me