Project Proposals

After all the presentations have been made in class, please send me an email (to with title "COMP 523 PROJECT PICKS". Email is due Wed afternoon, 1/15/2014 by 5pm.

In this email give me the LETTERS (from the list below) of your top 5 project choices...
something like this: 1Q 2L 3H 4P 5C

I will do what I can to maximize happiness but I give no guarantees other than you will end up assigned to some project.

Think of it this way... every project here is awesome! So you will be happy no matter which you work on.

You may self-select a team if you wish... simply send me an email with all three student names as a team along with your 5 project preferences. If you do not self-select a team, I will assign you individually to a team based on project preference matches as best I can.


Smarts and Stamina 
Kathryn Britton, M.J. Shaar

We have an app built by CS 523 students in two previous semesters that 
runs on Android phones and iPhones.  The app helps people collect 
information about daily sleep, food, mood, and exercise.  This app 
optionally communicates with a server program so that a wellness 
manager can view trends across a population of workers.

We have a number of ideas for extension, and we are open to 
suggestions from the team.

Full Description


Russ Taylor, Dept. of Computer Science

As part of our NIH-sponsored National Research Resource, we're developing 
a tool to help molecular biologists develop models and animations. has a description of the tool, along with links to YouTube 
videos showing it in action.  It uses 6-degree-of-freedom Virtual-Reality 
game controllers to position molecules and open-source tools to load 
and render them.  The system is already pretty cool, but we need help 
to make it awesome, and make it more widely accessible.  

Step one: convert from the Razer Hydra (no longer available) to 
the WiiMote; there are already drivers available in our underlying 
VRPN library ( ), but we need to remap the inputs and get all 
of the code hooked together.  

Step two: Add a cool "molecular toolbox" feature so that scientists 
can customize their molecule sets and not have to spend time typing 
in strange names when they put together movies.  Let them color their 
molecules anyway they please.  Maybe even making new blobby molecules 
by hand for ones where there is no known structure.  

Come help us make cool molecular movies! 
YouTube vid


CS Major Web Portal 
Diane Pozefsky, Dept. of Computer Science

As the computer science major at UNC continues to grow and the job 
market continues to change, the students are in need of some tools 
to improve their university experience and work opportunities.  
There are many opportunities to create a useful portal and the team 
will have the ability to help structure the site.  The goal of the 
site is that it be driven by student contributions, not official 
content.  Some of the pieces that I would like to see:

-- resources for self-study, for example before a technical interview
-- what is being asked at technical and non-technical interviews
-- tips on the culture of companies that you may be interviewing at 
   (e.g., appropriate attire)
-- study group formation
-- tutoring opportunities
-- a project marketplace to match up people who want a project done 
   with those that could do it, probably including feedback about 
   the people or project and team formation
-- tips for building a portfolio
-- internship or job opportunities in small companies
-- calendar of events (from local hackathons to speakers)
-- mobile app version

While a lot of this is bloggish, there's lots of opportunities for 
creative solutions to make it easy to keep informed, to make it easy 
to add information on the fly, ...  Limited only by your imagination!


Pebbles 1
Diane Pozefsky, Dept. of Computer Science

Some of us use up our text messages faster than our data units 
and therefore communicate over hangout on our phones.  Unfortunately, 
there is no notification of those messages.  Goggle's solution is 
to use SMS but that defeats the "use my data plan" approach.  
I would like to have google hangout messages automatically forwarded 
to my pebble.

Pebble smartwatch


Pebbles 2
Diane Pozefsky, Dept. of Computer Science

Ever been at a social event where checking your team's progress 
on your phone would be considered impolite?  Looking at a smartwatch 
is much less obtrusive.  I'd like to have a sports feed coming live 
to my smartwatch.  I'd start with UNC basketball feeds.

Pebble smartwatch


Switch enabled writing in the browser
Gary Bishop, Dept. of Computer Science

See CalcuType and TarHeelTyper for earlier versions. These tools 
allow kids who are motor impaired to write using one or two switches,
Braille, normal keyboard. They include text completion,
text-to-speech, and calculator capabilities. The goal of this project
is to combine and modernize these projects to make them more generally
available and capable.


Sami Says in the web browser.
Gary Bishop, Dept. of Computer Science

Sami Says is a simple audio story creation program that allows blind
children to illustrate stories with sound effects; think old-time
radio plays. Sighted children draw pictures to enhance and inspire
their stories but blind children don't get that opportunity. Some
years ago a team did a version for Windows only.

The goal of this project is to reimagine Sami Says as a web app that
runs in the Google Chrome Browser using the getUserMedia api.


Pick-a-Pic Grid in the Cloud
Gary Bishop, Dept. of Computer Science

This project is a simple web app that displays a grid of pictures 
and plays a sound or video when a picture is selected. This is, of 
course, not too difficult. There are two interesting / challenging 
bits. First, create a tool that makes it easy for non-computer users 
to create new grids. Second, host it all on Google Drive or Dropbox 
so all of the users data is in the cloud and controlled by them, 
not by us. 


Carolina Crossing Challenge
Gary Bishop, Dept. of Computer Science

A game to help blind children learn to cross the street. They hear
traffic sounds and choose the time to start crossing based on what
they hear. Patrick Waivers built a prototype back in 2012. This
project would be to revive and complete, extend, or rewrite his code.


AMX box replacement 
David Harrison, Dept. of Computer Science

You are already familiar with the touch panels in our classrooms. 
Sometimes they fail.  Sometimes coffee contributes to that failure 
as does heavy usage and the environment.  Since the panels cost $2300 
for the small ones, I would like to have an alternative.  iPads, 
smart phones, android devices, etc would work well.  Unfortunately, 
internet explorer is the only browser that will work.  Active-X and 
JAVA are the parts that are necessary to make it all work. 


OASIS Database Redesign and Extension 
David Penn, Kelsey Ludwig, Dept. of Psychology

The Outreach And Support Intervention Services (OASIS) clinic at the 
University of North Carolina at Chapel Hill is a treatment and early 
intervention program dedicated to using evidence-based, best-practice 
clinical skills to treat young people with psychosis.  OASIS created a 
database to measure the positive effects their treatment approach for 
each client and the clinic as a whole.  They keep track of a variety 
of measures to assess recent symptomatology, drug and alcohol use, 
social cognitive abilities, real-world functioning skills, effects of 
the illness on his/her loved ones, and a global rating of his/her 
ability to overcome challenges in their everyday lives.  At this stage 
in database development, the clinic has been focused on collecting and 
storing information for each client.  With the help of Dr. David Stotts, 
they have been able to convert these data into a personal report for 
clients.  The report details problem areas specific to that client.  
For example, heightened symptoms of mania or depression, and drug or 
alcohol abuse would be pulled from the measures and detailed in a report 
for clinicians to use in team meetings and therapy sessions.  Our next 
aims are to be able to track these changes over time with the hope of 
creating an individualized treatment plan for each client.  As with any 
disease or ailment, the subjective experience of a psychotic illness 
varies from person to person.  Ideally, monitoring these changes would 
include a visual display (graph or chart) that facilitates understanding 
for the clinicians, clients, and their loved ones.

Outcomes Report


Adaptive vehicle route planning 
Ming Lin, Dept. of Computer Science

Convert an android app to iOS for iPhone/iPad use.  One of our existing 
projects is an Android App for adaptive vehicle route planning based on 
real-time traffic data.  We are interested in working with a group to 
get it re-written to run on an iPhone (iOS).   The student team will 
need to know Objective C to program on IOS, and Java and C++ to 
translate from.

Full description


W3C Web Component Video Chat 
Steve Cox, UNC RENCI

Use two emerging W3C Standards, Web Components and WebRTC. to develop 
a reusable video chat component. The component will use Polymer to 
provide Web Component functionality to existing browsers. Then, use 
WebRTC APIs to implement a video chat component. The component will 
allow two users to communicate using their browsers with no plugins. 
It will also allow users to select cool CSS filters for their video 
stream. We'll use GitHub for source code and Wordpress for progress 
and findings.


Wm. Blake Archive 
Michael Fox, UNC

I'm the new technical editor of the William Blake Archive 
( We're looking for help redesigning the look 
and feel of the site, and someone at OASIS mentioned a software 
engineering course that takes projects like this. I'm wondering if 
that's true, and if it's the one you teach. The site's data is in an 
Exist db and most of it is generated by xquery, so redesigning its 
look and feel is a decent undertaking. There are also a few image 
processing features we'd like to develop in javascript. It's an 
award-winning site because of its scholarship and editing, but as you 
can see it's pretty antiquated as far as the UI goes.  

Full Description

Screen mockup


Android/iPhone viewer for XBox Kinect
Cory Quammen, KitWare

We would like a system where a person can remotely view the 3D point
cloud obtained with an XBox Kinect using an Android or iPhone/iPad.
The Kinect would be connected to a server machine and would stream the
point cloud to one or more viewer clients who could view the point
cloud in 3D. Viewers could rotate, pan, and zoom the points from the
Kinect. Seeing a single frame from the Kinect would be okay, but
streaming live point clouds would be even cooler. The server platform
can be whatever type of system works best with Kinect and the viewer
client should run on Android or iPhone/iPad. The client software
should be based on the KiwiViewer ( ).


Show me the Money 
Ana Felix,

Background and Concept:

The escalating cost of providing Healthcare has received national and 
international attention. At the level of the individual provider, 
it is often difficult to know how much a test costs, both to understand 
the impact to the patient as well as  to the Health Care System as 
a whole. There is a national effort to inform patients about the cost 
of all their care. Providers do not have easy access to these data, 
which is influenced by many variables (including contracts between 
providers and insurers). However, Medicare has a fixed amount that 
it will pay for a test, used as the basic foundation.

Software need:

A database that links an individual medical test to its cost. This would 
be based off of publically available Medicare Database. Data included: 
Cost of test; Relative Value Unit for the provider who performs the 
test/procedure. Providers would be able to enter the test name or 
CPT code and obtain cost of the test/RVU data. Additional ideal 
component would be to add various tests for a “TOTAL COST”- for example, 
ordering a Brain MRI and Complete Blood count and an Echocardiogram: 
It would be ideal to know how much the TOTAL cost for all orders is. 
If this is successful, it could be “added on” to Electronic Health 
Records for easy access to the data.  (; 
are websites trying to get at this, but swamped by the complexity)- this 
app would be very easy to use, basic and avoid the caveats (ideally, 
that may be able to be factored in eg. State/Location/Insurance carrier 
would be good to add as variables that could later be calculated).

Platform: MOBILE- An app that could work on iphone (or droid). 
(Ideally iphone-compatible)

Hope this is interesting. I have run the idea by residents, interns and 
attendings alike- all would welcome this app. I think it could be very 
popular and we could beta test it at UNC…



Braille Games
Diane Brauner (Visually Impaired & Mobility Instructor).

There is a huge need for beginning braille (letters and words) iPad 
games for young students with visual impairments.  There are thousands 
of these apps available for students with sight; however, only a couple 
games (mostly developed by UNC student teams!) available for blind 
students.  Blind students are now being introduced to iPads in 
preschool and kindergarten, as the iPad paired with the refreshable 
braille display (RBD) is successfully being used to teach braille.  
There are many benefits for teaching electronic braille over tradition 
paper braille, especially as our classrooms are moving towards becoming 
digital classrooms.

There is a huge, immediate need for educational apps for beginning 
braille readers.  Currently in classrooms, teachers often use simple 
worksheets that have multiple choice questions or a word bank that 
students draw a line to the corresponding sentence.  Young blind 
readers struggle to physically position their braille writers correctly 
in order to fill in these traditional (paper) worksheets.  However, 
the same worksheet on the iPad paired with a RBD is much easier to fill 
out, especially if the student has had the opportunity to play a 
couple similar iPad games that follow the same format.

Create simple games that use supplied answers (basically multiple 
choice or matching).

Absolutely any type of word game would be great - take a look at 
existing apps for sighted beginning/early readers.  Our blind students 
often lack concepts that sighted kids have learned through experiences 
or from looking at pictures or TV.  A game that included simple 
stories that provide knowledge would be ideal.

Example: What am I?  I have fur, four paws, whiskers and a tail.  
I like to eat mice.  Then four word choices: bird, cat, fish, dog.  
When the student chooses the correct answer, the reward sound could 
be a “meow”.  The game could be all animals or it could be any object.  
(plane, house, car, pencil, etc.)

A UNC team made an emerging braille letter web browser game called 
Braille Squad.  This game included a unique letter matching iPad 
game paired with the refreshable braille display.  Four letters were 
displayed on the iPad screen and those four braille letters appeared 
on the RBD.  Blind students then used the routing button (directly 
below and over one) to select the correct letter.

Please see the attachment for information URL for  Braille Squad.

I'm open to any type of beginning word iPad game that is accessible 
with VoiceOver and the RBD.

Braille Squad directions


Informed Voter Web Portal
Chris Colwell

Project is for a communication system that helps voters identify and 
more easily connect with their elected officials.  It works to keep 
them informed of issues that effect them at the local, regional and 
national levels.

How it works:

Voters register for an account on website / app by providing their 
information.  The system matches them to their elected officials 
(local, state, federal) and they can contact them via the system.  
One message can be created and sent to numerous officials simultaneously 
by clicking appropriate contact boxes.

A polling feature is envisioned so that polls can be created and viewed 
real-time online by anyone.  Additionally, information on issues and 
pending legislation can be sent to voters based on their location so 
they can be more informed about the political process.  Ultimate goal 
is to get more people involved to get them out to vote.

Platform - php/mysql.  I have php hosting available.  I am not a 
programmer so am open to whatever is deemed best.


Community Toolchest Website Project
Chris Colwell
This is a non-profit resource where people can go to find help and 
offer help to others in their local community.  Acts as a repository 
of information and a system to connect people together.  Focused on 
a particular community / geographic area and includes:

-- Searchable list of local non profits / charities that serve each 
-- A buy/sell/rent/borrow section for tools or available items
-- A section where people can post help wanted for jobs and needs
-- Ask a question section
-- Possibly hands-on courses to teach people basic appliance repair, 
   auto repair, etc, to make people more self-sufficient.  This would 
   require a scheduling/calendar component.

Programmed in php/mysql.   The class/group could work on one or more 
of these items depending on scope of work for the time available.


News "Early Warning" System
Ryan Thornburg

I'd like to propose a project building a prototype of a web-based 
system that would ingest public data and serve as an "early warning 
system" of proposing story ideas to journalists.

Through a grant I've received from Google, students would have 
an opportunity to work on Google's Cloud platforms, including Big 
Query (developing and deploying on the platform is also a 

This would build on the work done by students in last year's COMP 523. 
Any resulting code would be open-sourced and promoted to national and 
international newsrooms at meetings of the Online News Association, 
Investigative Reporters and Editors as well as other organizations.


3-D Scanner and Surface to Volume registration
Yueh Lee, UNC Medical School

Surface to Volume registration is an important need in a number of biomedical 
applications. We currently use AMIRA ( 
for 3-D volume to volume registration. However, due to the proliferation of 
inexpensive 3-D scanners (
or, registering 3-D surfaces to volumes is now 
potentially possible.

I am interested incorporating 3-D surface scans into my registration workflow 
on AMIRA. I require the development of a workflow to include capture and 
pre-processing of the 3-D mesh data into an AMIRA compatible format that 
I can immediately perform semi-automated registration. The workflow will 
then be able to identify locations (relative to alignment markers, if 
necessary) to plan biomedical procedures.

A few immediate applications are planned:

1. Alignment of histological cryotome cutting of small tissue samples, 
registered to pre-operative MRI or CT.

2. Small animal radiotherapy planning utilizing pre-procedural MRI as 
adapted to the surface capture.

3. Surface scan data for registration of CT and MRI for improved PET/MR 
attenuation correction of the head.


Biotech iOS/Andriod App
Nikolay Dokholyan, UNC

I do want to propose the development of an iPhone/adroid app for 
our another very popular server Eris ( We have the 
back end, but it would be nice to put it in a small form factor 
(for mobile devices), so that scientists can use it anywhere on the 
fly. There is a logistics issue where these iPhones would communicate 
with the central server’s database or keep the calculations private. 

So the project is mainly developing mobile interfaces for the backend 
that we have created.  There is an option of connecting to our database 
of all jobs that have been run (to avoid redundancies), but that feature 
can be optional.  The interface would consist of input fields, the output, 
the history, and maybe settings. When the user inputs initial parameters, 
the calculations are done on the background (may take a few min to an hour) 
and then displayed (here push notification would be nice to state the 
job is complete). The analysis is presented for a given job with the 
option to “share” via email or QR code or some other means. 
The example of functional interface, but not mobile is on our