From 1989 to the present, Matthew has operated a sole-proprietor programming &
consulting service, or worked as a contract programmer.
During this time, Matthew has produced numerous projects of all scales for various clients using MS Access and
other MS Office applications, VBA, VB, Visual Studio .NET, and other programming languages.
Notable contracts are described below. Click on a project/client name to show or hide the Case History description.
Notable contracts include:
WellStaff USA, Maynard MA, Designer & Programmer (2012) |
[show/hide Case History] |
WellStaff USA is a staffing company for health care professionals.
Matthew designed and programmed a pricing calculator based in MS Excel for WellStaff USA,
at the request of WellStaff's personnel. WellStaff USA found Matthew as a result of a web search for custom software!
Case History:
Confidentiality agreements prohibit a full Case History for this project.
New Haven Schools Foundation, Union City CA, Designer & Programmer (2009) |
[show/hide Case History] |
Designed and created secured database used to track donor contact information,
also track and report on donations, fundraising campaigns, grant and scholarship awards,
and Board of Directors activities. Facilitates mass-mailing for fundraising outreach,
donation receipt letters, monetary awards. Inter-operates with MS Word when generating mailing lists by
automatically starting Word and initiating the mail-merge.
Case History:
The New Haven Schools Foundation (NHSF) is a non-profit organization dedicated to supporting the
New Haven School District by awarding/administering scholarship funds, giving grants to teachers or
student groups to fund curricular and extra-curricular educational materials and events.
In an effort to enhance fundraising efforts, on a tight budget, and with special needs not met
by off-the-shelf donor management software, NHSF contracted Matthew to develop a Donor Management System
in MS Access. Matthew designed and programmed an application to meet the specific needs of the NHSF,
with the following features:
- Secured/encrypted data via MS Access workgroup security.
- Application's user-interface provides simplified password and user management.
- Store contact information for donors, scholarship recipients, and grant applicants.
- Track and report on:
- Donations related to specific fundraising activities.
- Demographic data about grant and scholarship recipients.
- Grant applications/awards, and scholarship awards.
- Automatically select records and generate mailing-lists for:
- Tax-receipt letters to donors.
- Congratulations/regrets letters to grant and scholarship recipients.
- Fundraising campaign/event notification letters/cards by selecting groups of donors
matching a variety of search criteria, including past participation in an event.
- When generating a mailing list, the application generates a mail-merge data file,
then opens MS Word to complete the mailing.
- Retrieve donor records based on special notes, such as an interest in estate donation.
- Track and report on data related to the Board of Directors and its members, such as dates of service,
committees and membership, meetings and attendance.
VISA USA, Foster City CA, Designer & Programmer (Winter 2006-2007) |
[show/hide Case History] |
Designed and created secured multi-user database for in-house use at VISA. This database assists seven
different task groups within VISA's Risk Management department in tracking and reporting on outside
entities' compliance with, and certification for, anti-fraud security practices established by VISA.
Case History:
Matthew completed a 6-month contract programming assignment at VISA USA. Because of Visa's corporate rules
governing the hire of contract and consulting labor, Matthew was assigned to work at VISA through
Partners In Business, a business-services firm based in Danville, CA (http://pibsinc.com).
In an ongoing effort to protect consumers from credit card fraud, VISA has developed a set of security
guidelines for businesses handling credit card data, and maintains a certification program for businesses
adhering to these security guidelines. This security certification program is known as Cardholder Information
Security Program (CISP). (Interested parties may read about CISP at
http://usa.visa.com/merchants/risk_management/cisp.html).
At Visa's instigation, Matthew designed and programmed a process-tracking and reporting database system
for in-house use by VISA staff responsible for auditing compliance with CISP requirements. This application
is used by 7 different departments, and has these features:
- Utilizes user-entered data and data obtained from other corporate databases.
- Multi-user networked application serving multiple departments within the CISP administration.
- Enables real-time data sharing between departments, greatly streamlining operations (prior to this
application, staff in one department would need to make an information request by memo to another
department).
- Automatically update key items across multiple data-sets.
- Provide real-time reporting on areas of interest to top management.
- Significantly automate tasks previously accomplished by repeated manual data lookups
from other corporate databases. For example, auditing a particular type of report submitted
by banks doing business with VISA formerly required 6 to 7 days to process manually, now takes
only 6 to 7 hours to process using the new application).
The completed application is a little over 80,000 lines of code. Confidentiality prohibits discussing the product
in any more specific detail.
Tri-CED Community Recycling, Union City CA, Designer & Programmer (2005 - 2006) |
[show/hide Case History] |
Repeat client. Create multi-user Customer Service database (CRM) in MS Access;
deliverables included installer, data-dictionary, user-manual (print/HTML).
Case History:
Tri-CED is a nonprofit corporation contracted to perform curbside collection of organic and
non-organic recyclables in the California cities of Union City and Hayward.
Because of the success of an earlier project and an
affordable bid, Tri-CED engaged Matthew to develop this product for them.
Tri-CED has two major needs: First, to adequately manage service for about 60,000 pickup locations,
where a location receives different services depending on city, whether it is a
single- or multi-family residence, a business, or is eligible for handicap service.
Second, a contractual need to submit extremely detailed performance reports to the cities
served and to labor unions. Tri-CED's existing customer database was insufficient to these needs.
The solution was to develop a new Tri-CED Customer Service System (TCSS) in MS Access and VBA.
The TCSS system is a complete Customer Relations Management system customized precisely to fit
Tri-CED's unique requirements and existing business practices. The TCSS system cost about
70% less than the closest-matching off-the-shelf CRM system, and (unlike
the off-the-shelf CRM) used existing hardware, has unlimited users, and met Tri-CED's needs 100%.
Matthew designed & programmed the TCSS system from the ground up, giving it these features:
- Maintains a record of all service addresses and associated (multiple) customer contacts.
- Maintains records of driver hours and tonnage collected per material, per truck.
- Flexible searches to view addresses, contacts, service orders, and other information.
- Create and track service orders, maintaining a viewable history of all service orders at
any address.
- Create and track driver tags (a driver's notification about problems at the pickup).
- Manage route-assignments - which pickup locations are serviced by which routes.
- Automate monthly, quarterly, and annual reporting for statistical and performance reports.
- High level of user configurability: users can add new containers, material types, service types,
and other "lookup" items to update or expand the type of information tracked and reported on.
- User-level security (user-name + password) to control which activities a specific user
may perform.
- Online HTML help manual and printed user manual.
As part of the delivery and deployment of the new system, Matthew also converted about 60,000
existing customer records into the new system. Tri-CED staff and management have expressed
extreme satisfaction with this product, still in use on a daily basis since 2005 without significant problems.
Tri-CED Community Recycling, Union City CA, Designer & Programmer (2004 - 2005) |
[show/hide Case History] |
Create Point-of-Sale and Inventory/Shipping system in MS Access.
Satisfies CA state law for receipts/reports in a CA redemption-container recycling
business. Tracks inventory real-time, creates shipping documents, accounting reports.
Case History:
Tri-CED is a nonprofit company which purchases redemption containers and recyclable materials
directly from the public through a "BuyBack" facility, and then resells them in bulk.
The Buyback facility had several needs. Foremost, as an authorized CA recycling facility,
strict requirements must be met for receipts, record-keeping, and reporting. Because of the CA state
requirements and the fact that the Buyback purchases items rather than selling them, a simple
cash-register and/or off-the-shelf Point-of-Sale system is inadequate, resulting in large
amounts of hand-written receipts and reports. Tri-CED management also had a strong desire to
automate inventory monitoring and the creation of required shipping documents (Bills of Lading).
The solution was development of a custom Point-of-Transaction/Inventory system using MS Access and VBA.
The resulting system consists of four modules: a Cashier module, an Inventory/Shipping module,
a Management Console, and a Workstation module.
- All modules are programmed in MS Access/VBA.
- Each module is designed to run temporarily as a stand-alone application in the case of
network failure.
- Each module interacts with the other modules to provide near real-time reporting on cashier
and inventory activity.
- All modules employ user-level security (user-name + password) to control which activities a
user may perform.
The Cashier module runs on a dedicated computer, and controls a cash drawer and receipt printer.
The cashier enters the customer's materials as line-items - the material type, and the count or
weight of each material. The Cashier system computes the subtotal for each line-item from current
price-lists, computes the total to be paid to the customer, prints a receipt, and opens the cash drawer.
The Cashier module also provides these features:
- Supervisor-authorized price overrides
- Void in-progress or completed transactions
- User lock-out after inactivity to ensure cash drawer security
The Inventory module was designed for stylus input on a tablet handheld computer for
real-time data-entry of baled materials.
The Management Console provides these features:
- Centralized updating of price-lists and materials handled.
- Receipt summaries needed for daily accounting.
- Centralized user/password management.
- Scheduling of intervals at which various modules attempt to update each other.
- Database integrity checks.
The Workstation module provides these features:
- Statistical and summary reports on cash paid out.
- Statistical and summary reports on materials shipped (tonnage/material, value, purchasers).
- Near real-time reporting on inventory levels.
- Automatic reminder when inventory reaches minimum level for an outbound shipment.
- Automated generation of Bills of Lading for outbound shipments.
This system has been in use 6 days a week, serving 100 to 200 customers each business day, since it's
installation in 2004 without significant problems.
University of California - San Francisco, Division of Infectious Disease, Consultant (1989 - 1992) |
[show/hide Case History] |
Assist researchers with database design, data import/export, mass mailings.
Scripting to automate word-processing and e-mail.
Case History:
The UCSF Division of Infectious Disease was a research facility operated in conjunction with
San Francisco General Hospital. Matthew was contracted on a repeating basis over several years
to provide a variety of computer support functions. Duties & notable achievements included:
- Create scripts for word-processing and spreadsheet software to automate document production.
- Write applications to automate sending of e-mail through pre-WWW Internet mail systems.
- Convert data to and from dBASE, Paradox, CSV, SAS, Lotus, Quattro and other formats.
- Assist researchers with database and statistical analysis software.
- Install, maintain, upgrade and repair computers and printers.
- Install voice-mail system.
National Semiconductor, Santa Clara, CA, Programmer (1994) |
[show/hide Case History] |
Developed VBA program in Excel to provide graphical summaries of quality assurance data for
management staff.
Case History:
Confidentiality agreements prohibit a full Case History for this project.
Sequoia Hospital, Redwood City, CA, Programmer (1991) |
[show/hide Case History] |
Develop and implement a reporting database application to compute and
graphically represent utilization of hospital resources by physicians.
Case History:
Confidentiality agreements prohibit a full Case History for this project.
Sixth International Conference on AIDS, San Francisco CA, Consulting Database Administrator (1990) |
[show/hide Case History] |
Maintain/create databases & data-entry/report programs for Abstracts,
Registrations (pre-registration and on-site), and scoring of reviewed papers.
Generate financial reports and output files for electronic typesetting to print
conference books and ID badges. Train/supervise other persons using conference databases.
Case History:
The 6th International Conference on AIDS was hosted jointly by UC-San Francisco and the City of
San Francisco. Like most conferences, the 1990 AIDS Conference began with a small core staff about
12 months in advance of the conference date. Matthew was contracted early in the conference
process to act as the conference's technical advisor for database issues, especially regarding
the practices of the sub-contractor handling advance registrations and submission of papers
for presentation. Matthew's duties and responsibilities to the conference grew rapidly.
Matthew carried out these tasks on behalf of the conference:
- Perform quality assurance tests on databases compiled by subcontractors handling registrations
and submissions of papers.
- Generate financial reports from databases compiled by subcontractors.
- Build databases and program data-entry for real-time entry and reporting of scores produced by
Review Committee selecting papers for presentation.
- Generate mass-mailings of acceptance/rejection letters to persons submitting papers.
- Integrate registrations database with staff databases into a single database used to
print ID badges.
- Maintain security of confidential information in conference databases, especially wiping
disk drives of loaned/rented computers.
- Control authorized releases of database mailing lists to various private and public institutions.
- Generate special report files formatted with typesetting directives to automate electronic
typesetting of conference books (Abstracts sections, indices to papers).
- Train/supervise other persons using conference databases.
- Arrange for donated and rental computing equipment needed for peak load times; supervised the
setup, use, takedown, and return of all rented equipment.
- Advise conference staff on a variety of technical issues.
The 1990 AIDS Conference was an exciting and fast-paced project. During the critical stages of the
conference - the Review Committee which meets the week before the conference to select papers for
presentation, the creation of the typesetting files for the conference books, and the actual four
days of the conference itself - Matthew remained accessible on-site 24 hours a day to ensure that
all problems that arose within his area of responsibility were solved quickly.
University of California - San Francisco, S.F. Community Consortium, Consultant & Programmer (1989) |
[show/hide Case History] |
Create Clinical Drug-Trial Patient and Physician Database applications; train data-entry staff.
Case History:
The Community Consortium was a group of public health outreach organizations working with research
groups to support each other's activities. This one-time contract was to develop a data-entry program
which would store data in a dBASEIII database format but using a stand-alone program that would be
more robust than anything that could be developed in dBASE languages. The data-entry was for a
double-blind clinical drug trial, therefore data-entry needed to be tightly screened to help ensure
maximum accuracy, and also needed to be formatted for transcription from up to 3 paper source documents.
After completing a bulletproof data-entry program, Matthew installed it at the client site, and trained
all the data-entry operators.
University of California - Berkeley Extension Services, Tutor & Instructor (1989 - 1992) |
[show/hide Case History] |
Multiple contracts as Pascal programming language tutor; served one semester as instructor.
Case History:
UC-Berkeley Extension Services primarily serves the ongoing education needs of adults.
Matthew was engaged repeatedly by the University to provide one-on-one tutoring for students in
the Pascal language course, and was retained to teach the course during the final semester it was offered.
(The course was dropped due to lack of enrollment; interest in the Pascal language throughout the computer
industry had waned significantly.)
While working as instructor, Matthew was responsible for devising the course curricula.
Triad Systems Corporation, Livermore, CA, Database Consultant (1989) |
[show/hide Case History] |
Design and implement database for statistical evaluations of questionnaire results.
Case History:
Confidentiality agreements prohibit providing a Case History for this project.
Engineered Safety Designs, Hayward, CA, Programmer (1989) |
[show/hide Case History] |
Design and code confidential programs for company's proprietary products,
specifically encryption/decryption software to protect programs and data.
Case History:
Confidentiality agreements prohibit providing a Case History for this project.
Kaiser Permanente Department of Research, Oakland, CA, Consultant & Programmer (1988) |
[show/hide Case History] |
Create database/data-entry applications for questionnaires, mass-mailings.
Write documentation; train personnel.
Case History:
Kaiser Permanente Department of Research engages in ongoing medical research. Matthew performed a variety of consulting
and programming services for this department. In particular, he created database designs and data-entry applications for
research questionnaires sent to study participants, and for managing mass-mailing lists of patients and study participants.
Matthew also trained Department of Research staff on using the database applications, word processing programs
and other computer-related operations.
Skills Summary << Previous |
Next >> Books by Matthew Harris