Skip to content

Client Project Proposals for 2019-20

Below are the client project proposals for our 2019-20 Capstone courses that I have received so far. I will be updating this page as new proposals arrive. This year we have over 160 students in the course, but few client projects (continuing the trend that started in 2014).

You have two choices as explained here:

  1. Choose to work on one of the projects below.

  2. Choose to work on your own startup project. Most students will need to do this one.

1. Carolinas Climate Resilience Conference Mobile Scheduling App

The Carolinas Climate Resilience Conference is hosted by the Carolinas Integrated Sciences & Assessments (CISA) research team, based in the Geography Department at UofSC. The conference was held in 2014, 2016, and 2018. Our next convening will be in fall 2020. The conference draws around 250 people primarily from North and South Carolina. Although, we do have participation from agencies and organizations throughout the Southeast. The conference format includes 3 plenary sessions and 6 blocks of concurrent sessions over 3 days (½ day, full day, ½ day). Each concurrent session usually includes between 3 to 5 speakers giving individual presentations or as a panel discussion. You can access the agenda for the 2018 conference We would like to request a mobile scheduling app that would allow attendees to view the conference schedule online and set up their own schedule for presentations and events they would like to attend over the three days. We will want the ability to edit the information in the app ourselves, to update the conference program as needed, add in the list of speakers, update the list of conference attendees, etc. Key features could include:

  • A searchable agenda
  • Links to presentation and session abstracts
  • A "My Schedule" option for attendees to designate the sessions and events they plan to attend
  • A map of the conference facilities
  • A list of conference sponsors
  • A list of exhibitors (with a map of their table locations, if possible)
  • A list of attendees
  • FAQs
  • Link to access the conference website
  • The ability to edit all of this information ourselves

Other helpful components that would be nice but aren’t necessary

  • A place where attendees could add notes about the sessions they attend
  • Make the list of attendees searchable
  • Cross-reference attendees with their presentations or posters on the conference agenda
  • A way for attendees to connect via the mobile app

Other conference app examples: * American Meteorological Society (AMS) 2019 annual meeting * American Association of Geographers (AAG) 2019 annual meeting * CitSci 2019 Conference, hosted by the ExOrdo app

We won’t have the conference agenda set until summer 2020. So, the app should be developed based on the 2018 conference agenda and participant list, with the ability to update the data. If possible, the app should be accessible on both Apple and Android operating systems. For more information, contact

Amanda Farris
(803) 777-6875

2. Fall Recorder iOS App

I am hoping to develop an app in which clients that are at risk for falls can more accurately record falls or near falls that occur. Often individuals will come to physical therapy and deny any falls or under estimate balance trouble in the home due to no physical injury occurring. I am hoping an app will give individuals a real time option to not only record number of falls but more accurately identify a fall to assist physical therapists in providing recommendations and interventions to minimize a fall risk. See below for the scale I’m hoping to include in the app. I also would like the ability to record (brief) circumstances surrounding the fall (ie I was getting out of the shower). Finally, I’m hoping this data could somehow be visualized over time (ie bar or line graph).

Image result for hopkins fall

Alicia Flach PT,DPT
Board-Certified Clinical Specialist in Neurologic Physical Therapy (NCS)
Board-Certified Multiple Sclerosis Clinical Specialist (MSCS)
Physical Therapy Faculty Scholar at the Parkinson's Foundation
Clinical Assistant Professor

3. Mobile app for the 2020 Stress Neurobiology Workshop meeting

On May 12-15, 2020 USC will host an international meeting of stress researchers, entitled the 2020 Stress Neurobiology Workshop. The meeting attracts ~200-250 faculty and students from around the world, and includes two keynote addresses, several symposium sessions and poster presentations. Since this is a relatively small meeting, the organizers would like to add a mobile app for participants to use and think this is a great real-world design experience that would highlight UofSC’s computer science program. Designers would be welcome to attend the meeting and help launch the app (if desired).

Key features of the mobile app would include the ability of the organizing team to easily: 1) post the agenda and be able to shift the agenda during the meeting if necessary (for example if we need to modify the order of presentations at the last minute, etc.); 2) send meeting details to all participants as needed; 3) post abstracts for talks and posters; 4) include a list of participants and their contact information. From the participant point of view the mobile app should allow 1) viewing up-to-date agenda including any last-minute changes; 2) viewing abstracts; 3) taking notes during presentations /posters on their devices; 4) contacting other participants directly; 5) access social media sites. Other nice features would be to allow participants to post a research profile with their contact information and to access information on Columbia such as restaurants and night-life. A key element will be having the project completed by April in 2020.

Request submitted by the 2020 Stress Neurobiology organizers: Drs. Lawrence Reagan, Marlene Wilson, Jim Fadel and Susan Wood at the USC School of Medicine are the local organizing team. We have all used similar mobile apps at larger meetings, and are looking forward to working with the design team on this project.

Marlene A. Wilson, PhD
Professor and Chair
Department of Pharmacology, Physiology and Neuroscience

4. Free to Fosters

I’m an assistant professor in the College of Social Work and my research focuses on child abuse prevention. Over the past few years, I have been working with foster parents and my app idea focuses on their needs. I would like to develop an app called Free to Fosters that allows individuals or families to donate goods directly to families who foster children. Foster parents are receiving children into their homes all the time who may not have any possessions. Foster families need to obtain clothes, equipment (e.g., strollers), and toys very quickly to meet the needs of the children they are caring for. Even if you’ve been fostering a long time, you probably don’t have clothes in the right size or toys that match the new child’s interests. At the same time, parents are constantly donating or giving away outgrown children’s items. This app helps them meet up.

Individuals in the community list items they would like to donate and upload pictures (e.g., clothes, toys, musical instruments, cribs) and agree to give them free to foster parents. Foster parents are given a log in through statewide foster parent association groups which allows them to be a receiver. Foster parents can search existing listings in the app or post requests (e.g., boys winter clothes 18 months). The app helps people who want to donate connect with foster parents who need the donations. If a child outgrows the items (e.g., highchair), the items can be listed again for a new foster parent. Foster parents are anonymous and donations can be dropped off at local DSS offices.

Kristen Seay

5. Surges and Waves in Piping Systems Webapp

Existing software for the simulation of surges and pressure waves in piping systems WH (Version 7.0) is written in FORTRAN and has been used worldwide by consulting engineering firms and governmental organizations. An executable copy of WH and a 113-page User’s manual are provided to User. User prepares the Data input file for his/her project or modifies manually or interactively using another software, WHINPUT. After execution, WEH writes output in a file and computed results for specified devices in other files for plotting or post-processing. For more information, see

Features of interest for the Webapp (open for suggestions):

Specified Users will be issued an account on monthly or yearly basis to allow access to WH via cloud but the User should not be able to copy the executable version of WH.

Webapp will allow the User to execute WH and write the output in files for post-processing and plotting of computed results (variation of various variables for various devices with time, variation of pressure at specified times along pipeline on line diagrams or on maps).

M. Hanif Chaudhry
Associate Dean (International Programs),
College of Engineering and Computing,
Tel. (803) 777-8318 or 777-3652

6. Command and Control Webapp

For this project, students will work with a start-up to develop a web app that will provide Command and Control (C2) abilities for sentries and first responders. Agencies responsible for the security of large campuses need the ability to have C2 of their area of responsibility (AOR). This large campus could be a school, hospital, airport, military instillation, a power plant, etc. These places rely on sentries to provide a defense from threats that could harm the public and software can be a force multiplier in this domain. Ideally, this web app will show a geographical map of the AOR, and under the hood it will have a framework available for interfacing with 3rd party sensors. These sensors could be access control panels, gunshot detectors, motion detectors, radar, or cameras using A.I. for threat detection. The web app will alert the user to an anomaly, and the user can make a decision to mitigate the threat, dispatch authorities, send automated announcements, or lock down a building.

Starting off I plan on the students using simulated sensor data. I would like them to implement socketio into this project to make it easier to feed the web app information from these virtual sensors. Once this is established I would like for them to explore integrating Arduinos with motion detecting and toggle switches representing doors, and maybe using Arduinos with GPS and 900mhz Lora radios (such as the ttgo t-beam). We can provide the Arduinos and sensors.

Lenel is a popular access control company that has an SDK and I will apply for access to this but it's not guaranteed. I attached a PDF with more information about that.

James Prince

7. Kivy Plotting Library

Kivy is an emerging NUI built in Python that works across Linux, Windows , OS X, Android, iOS, and Raspberry Pi allowing an application to be transformed to virtually any platform desired. It is built using OpenGL ES 2 and Cython combining the benefits of near-C speeds with GPU processing for graphics. Touch is a default ability of Kivy with support for stylus, finger, and trackpad shortcuts included out-of-the-box.

However, Kivy does not have a true plotting library which limits its use in scientific and other data uses. There is one library available from Kivy’s community contributions known as Kivy Garden. This library is known as Kivy Graph and has not been updated in over a year. This library provides very limited and basic graphing functionality, but no real customization, not to mention it does not quite follow the same vein of visuals and extensibility as the rest of Kivy. Another library, Kivy Matplotlib, sought to bring the power of Python’s main plotting package to Kivy, however it is riddled with bugs and often causes Kivy to freeze.

Due to this, ASSET requests a team to take on the challenge of developing a true OpenGL-enabled, customizable, and extensible library for plotting. The library should have the following features.

  • Use Kivy’s OpenGL abilities that take advantage of available GPUs
  • All items should work with Kivy’s scrolling and scaling functionality, as well as touch
  • Common to all graph types

    • Ability to control axis titles, tick marks, grid lines, frame lines , titles, line colors, line thickness, line type, text, text size, etc essentially any way items of a graph can be manipulated

    • Legend with placement control

    • Ability to update the graph in “real time” without lag or crashing
    • When mousing over, ability to display data under mouse in a pop up or another Kivy widget
    • Guidelines when mousing over so user can more easily see the data values correspond to the axis
    • Ability to add text, or a kivy widget, anywhere on the plot
    • Default color scheme and marker scheme that cycles as data series are added to the plot
    • Ability to zoom in/out, and return to 100% zoom
  • Line Graph

    • Ability to display multiple lines on the same graph for different data series
    • Ability to connect the multiple lines to a legend, with legend placement being able to be controlled by the user
    • Ability to turn on point markers if desired
  • Scatter Plot

    • Ability to pick different point marker styles
    • Ability to attach text to the marker styles
    • Ability to plot different
  • Bar Graph

    • Ability to have a grouped, individual, stacked in both vertical and horizontal orientations
    • Ability to pick different bar styles
    • Ability to attach text to the bars
  • Full documentation of API, and in-code documentation of functions

  • Documentation should include how to continue extending the library
  • Any other plot/graph types the team feels would make the library well rounded

An example of a very flexible and extensible plotting library is, in fact , Python’s Matplotlib which can serve as a reference for the project.

Benjamin T. Davis, PhD, LSSGB
Founder & CEO

8. Web Application: Event Attendee Scheduling Based on Mutual Availability

Basis Publishing, LLC

We are looking for an app that will provide an optimal schedule of event attendees based on their mutual preferences for dates and times. The app user might upload a spreadsheet of 100 attendees who signed up for a workshop with 35 possible date & time options. The app user wants to hold up to 10 maximum workshops with each workshop hosting at least 5 and no more than 7 attendees. The user uploads the spreadsheet with attendee availability into the application, changes the application settings to minimum of 5 attendees, maximum of 7 attendees at each event, with no two events scheduled for the same time (or selects an option to allow duplicates), and then clicks submit. The software returns a downloadable file with all 100 attendees sorted into groups of 5-7 with no duplicate time slots, reflecting the optimum possible distribution based on attendees' preferred times. If a schedule that fits the parameters cannot be created, the app returns the best possible arrangement and a list of names who could not be sorted into date and time slots.

We and our clients have been doing this kind of scheduling manually for three years and would like to automate the process. We use it for scheduling webinars. Our clients are university professors who use it for scheduling online meeting and presentations with students.

Details on the data sets we use:

This application should sort people into scheduling options based on mutual availability. App users will upload a spreadsheet containing the following columns: Name, [Date&Time 1], [Date&Time 2], [Date&Time 3]..., out to perhaps as many as 35 date & time options. In rows below the header row the name column contain an attendee’s name. For each name listed 6-8 date & time columns will be ranked 1 (most preferred) to 8 (least preferred) and then hold blanks for the remaining columns.

For example:

Name Mon 9/1 10am Mon 9/1 Noon Tue 9/2 10am Tue 9/10 Noon
Peter Parker 1 2
Harry Osborn 2 1

The spreadsheet would continue down for perhaps as many as 100 possible attendees (or as few as 20) and out to perhaps as many as 40 date & time options (or as few as 15). We will provide two real-case data sets in CSV or XLS/XLSX format for development and testing.

The app user will upload a CSV/Excel file and tell the app the minimum and maximum attendees that should be scheduled for each event and whether duplicate events within one timeslot are acceptable. The program then attempts an optimal distribution of attendees into the options that work best for them.

Platform requirements:

We need a web-based application that can run on our servers. We have a commercial VPN (KnownHost) running CentOS 7.6 with Apache 2.4.39, MYSQL 5.7.27, and PHP 7.0 (we will be upgrading to a newer version of PHP soon). The user interface should also be web-based (html/php).

We are happy for the code to be released under an open source license that allows us to use it for our clients and business partners.

Pat Gehrke
Professor of Communication
Department of English
University of South Carolina

9. Cable Company Website Chatbot

Technology: html/javascript, DialogFlow, Google’s available capabilities , etc.


Jack cable company customer
ACME Cable company
Sam ACME Company Technician
Travis ACME Company Customer Service Representative

User story/use case (Sam):

Sam is ACME company technician who goes out to ACME customer sites to fix internet connectivity issues. He has ability to access ACME customer website and specify his availability as well as manually book himself for certain days/times.

User story/use case (Travis):

Travis as customer service representative handles chat conversations (no queue or other sophisticated capabilities are required in this use case). If chatbot is not able to handle the request through the automation, customer will get routed to Travis to help with the issue.

User story/use case (ACME Cable Company):

ACME Cable Company offers its customers access to the website (same website that technicians able to access to operate the calendar). On that website customers may learn about ACME Cable Company services as well as report problems. To report problems ACME Cable Company offers chatbot that:

  1. Greets the user
  2. Asks for how it help
  3. Identifies the intent (“my internet is slow”)
  4. Offers to schedule an appointment by displaying to the customer the calendar widget with available appointment dates/times.
  5. If no appointment is available, chatbot will connect customer with the customer service representative who will be able to help.
    • As part of this story customer and Travis should be able to interact via chat, but no need to address the use case any further

Use case/User Story (Jack):

Jack is ACME Cable Company customer and noticed that internet connectivity is slow. Jack would like to report that problem by accessing ACME Cable Company website. <<< the rest should be self-explanatory from the use cases above.

Sergey A. Razin, Ph.D.
CTO | Professor of AI and Engineering Entrepreneurship at USC

10. Library Dashboard

The Research & Instruction department for the Thomas Cooper Library would like to submit a proposal for the CSCE Capstone class. We are interested in the creation of an app for students, faculty, and staff of UofSC that would function as a personalized library dashboard. Several desired functions are listed below, although we realize that all of them may not be possible due to scope, app function, connectivity between platforms, or other reasons.

  • Login to online resources (connecting to existing system)
  • Current library hours
  • Booking a study room (connecting to existing system)
  • Submitting noise complaints
  • Book a librarian (connecting to existing system)
  • Text for research help
  • Find your subject librarian
  • Social sharing options
    • creating a friends network with limited/ private sharing
    • pics of the Starbucks line
    • connection to library twitter feed
  • New book list
  • Ability to add in surveys or contests
  • Back-end statistics collection

Additional input from the student group that selects our project would be valued. We would need the license/ ability to use, maintain, and upgrade the app upon completion. Some of the login and security information for the app might need to be changed or deleted before uploading it to Github (if the creators would like to upload it at the end of the project) as some functions and components might require including connections to other systems requiring security (Shibboleth (University login), Springshare (study room reservation system), etc).

We thank you for this opportunity to submit a project and look forward to working with your students if we are selected.

Kristina Schwobel
Research & Instruction Department

11. Webapp Featuring Chinese Women Artists

I would like to have a web-app created for a database of approximately 350 basic entries of early-twentieth-century primary sources on Chinese women artists. These sources include newspaper and magazine articles, editorials, theoretical essays, art show reviews, and biographic profiles. The data catalogued in the database includes digital images of the archival material with full bibliographic information, translations, and basic descriptive analysis. These resources shed new light on the transformative actions of the women artists active in turn-of-the-twentieth-century China. However, the data currently is in the form of an unwieldy table in an Excel spreadsheet in my laptop, where it remains hidden from public view. Improved access to the collected data is critical. I envision some form of publicly-accessible online platform, ideally one that could incorporate or accommodate dynamic links to allow the mapping on an illustrated timeline of temporal relationships between women artists other artists, institutions, and events. A few years ago, I made a rudimentary Filemaker archive that could serve as a preliminary model for a web-app that I would be happy to share. Comprehension of written Chinese would be helpful but is not necessary.


Note that a static website is not enough for this class. You will have to make it interactive and dynamic.

Amanda S. Wangwright, PhD
Assistant Professor, Asian Art History
School of Visual Art and Design
University of South Carolina

12. Sexual Health App

I would like a mobile app developed that will give youth and young adults accurate information about sexual health. This app would have the capabilities to share sexual health factual content (e.g. how to effectively prevent sexually transmitted infections (STIs), how to effectively prevent pregnancy, how to communicate with a sexual partner about a variety of things, etc…) in a fun and engaging way. The app should also be able to communicate practical information about locations near them (based on their current location ) where they can access sexual health related materials/information** (e.g. places where they can get free/reduced cost STI testing, get pregnancy testing, etc…). It would not only be user activated but it could also be an opportunity on the developer side to engage with the population real time with sexual health tips or facts that we could roll out on a regular (e.g. twice a week) basis. The South (South Carolina in particular) experiences disproportionate rates of STIs and unintended pregnancy. Our State is prime for capitalizing on technological ways to improve this public health burden. I have already conducted focus groups with youth and young adults who desperately want something like this. I just need the capable minds and talent to help develop it! I would like it to be usable on android and iphone, but am open to suggestions about that.

Lucy (Annang) Ingram, PhD, MPH
Associate Professor | Department of Health Promotion, Education, & Behavior
Assistant Dean for Academic Affairs and Online Education
Arnold School of Public Health
University of South Carolina
915 Greene Street, Discovery I Bldg., Room 503G
Columbia, SC 29208
Phone: 803-777-4389 | Fax: 803-777-6290

13. Fitbit Aria smart scale Webapp with Alexa Integration

Develop an Alexa skill that integrates with the Fitbit Aria smart scale and an appropriate backend database to provide periodic reminders and appropriate feedback for users with congestive heart failure.


You will be using the fitbit Web API to get data from the scale.

Cynthia Corbett

14. Webapp for Managing Manufacturing Devices

The convergence between cyber and physical manufacturing systems has been pursued as a goal of data driven smart manufacturing (SM). However, SM systems are constrained by the gap between connecting factories and control processes in a more dynamic and open environment. Moreover, previous research on data-driven manufacturing intelligence mainly focuses on data collected from the physical model instead of the virtual model. The most common problem with physical manufacturing systems is that direct process quality measurements are often unavailable. Therefore, establishing connections with virtual environments is proposed to further overcome these outstanding bottlenecks in the evolution of SM. This research demonstrates that the implementation of Virtual Commissioning (VC), as one of the steps to industrial digital-twinning, will accelerate the training, testing and validation of smart control systems.

The method to pursue is to employ large-scale simulation, sensor and computation technologies to establish a life-like digital manufacturing platform and capture, represent and predict the dynamics of a live manufacturing cell. By creating an Industrial Internet-of-Things (IIoT) platform, we are looking to present data-driven science and engineering solutions to our industrial partners towards an accelerated Smart Manufacturing Innovation. As a result of this project, a smart optimization approach utilizing virtual platform data, which we are terming the Digital Engine (DE), will be developed and physically tested. The unique approach to platform optimization through the DE concept, coupled with a true VC platform, results in an entirely new and innovative resource to develop the next stage of SM systems. This demonstrator cell will have a heavy interactive component, allowing outside parties to test the capabilities of the platform and observe results both on location and remotely through a web interface. This interaction will serve as a research in addition to training for outside parties on digital transformation.he purpose of this project is to properly protect the digital infrastructure of the cell from cybersecurity t Threats. The consequences of unwanted access to the platform are great in cost and safety. Therefore, dedicated efforts to eliminate potential risk and mitigate the consequences of potential intrusion into the system.


In other words, the project is to build a web application that lets users control and view the state of some other devices. The team will only be responsible for the development of the web application. The API to the hardware already exists and is well documented. The team will either communicate with the real hardware or build Mocks (simulate the hardware with a little program that just acknowledges the commands it has received).

Ramy Harik

15. Capgemini: Elections Engagement Application

Create a mobile application that helps users stay aware of all election related dates relative to their location, including voter registration pop-ups, candidate debates, and election days and locations.

More details and contact information in this set of slides.