Start:Review

Start:Review Start Tab
Start:Review’s Start screen.

Start:Review is an application for Windows machines built with MS SQL Server, C#, and WPF. It was designed to help lawyers and paralegals review and produce documents for use in e-discovery cases. Users begin by importing documents that are relevant or potentially relevant to their case into Review. Once Review has processed the files, users can search for keywords and phrases, filter results, and mark items according to their relevance and importance. When users are done sorting the items into relevant and non-relevant sets, Review can export them as Bates-stamped PDFs to pass on to the appropriate parties. Review even has tools for users to redact sensitive information from the output PDFs.

To list everything Review can do and everything I contributed to it would take quite some time, so below are just a few highlights.

Start:Review Search Tab
Start:Review’s Search tab lists all the phrases Review has found in the imported documents and emails. These are called Concepts. Selecting a Concept displays phrases that are similar to it (Equivalent Concepts) in the upper right table. The Email and Documents tables are populated with items that contain the selected Concepts. When users mark Concepts in this interface, Review automatically marks all the Equivalent Concepts and containing emails and documents with an appropriate marking.

One of Review’s most powerful features is its ability to find potentially relevant items based on the markings users have given other items. For example, users can open an email in Review’s Viewer, highlight a phrase in the email that makes it relevant to their case, and mark the text as Relevant. Review will then search through the project database for similar phrases and associated emails and documents and mark them as Relevant. This saves the user time and decreases the risk that they will miss an important item. Users can select text to redact in a similar manner, and Review automatically finds potentially sensitive text in other items. I was given the specifications for these algorithms and implemented them both.

Start:Review Advanced Search Popup
Users can build a search query using the Advanced Search popup or can enter a query manually in the Search Filter text box.

Review also offers users the ability to search for keywords and phrases. Users can write a search query manually or generate one using the Advanced Search popup. Multiple search terms can be combined using boolean operators, search patterns, and special operators. This Search Filter feature filters out Concepts, documents, and emails from Start:Review’s interface that don’t match the query. I specified the syntax for this feature, implemented the query parser, and collaborated with Start:Review’s database administrator to translate the search queries for use in SQL Server.

Start:Review Export Native Options
Options Start:Review offers users to copy their documents and emails to an output directory.
Start:Review Export PDF Options
Options Start:Review offers users to export their documents and emails as PDFs.

Users can export selected documents and emails in two ways: converted to PDFs or copied to an output directory. A teammate and I programmed the original version of these processes and GUIs. I eventually redesigned the originals for maintainability and flexibility to meet client requests for more output options.

The export processes are both multi-threaded. Their design was inspired by Start:Review’s import process, which another team member had designed and implemented. I separated the multi-threaded aspects from this import process, making them more generic so that they could be used to build any multi-threaded process. This threading framework was flexible enough to be used in Start:Review’s import, export, marking, and redacting processes and could have replaced the entirety of Start:Collect’s design.

Start:Review's Document Viewer
In Start:Review’s Viewer, users can select one or more Concepts to see where they appear in the email or document. The Concepts in this list are highlighted yellow when they match the user’s current search and filter selections as specified in the main interface. Their highlighted color in the text indicates their marking.
Start:Review's Email Viewer
The Email Viewer displays the email’s attachments and allows the user to mark them. This image shows what the Viewer looks like in Redaction Mode. Here, the user can select text to be redacted. The highlighted color indicates the text’s redaction status. In this case, “Calgary,” “Petro,” and “document” will be redacted when the email is exported as a PDF.
Start:Review's PDF Viewer
The PDF Viewer displays each page of the PDF and its Concepts individually. Users can navigate to any page using the list in the upper left. Users can also mark pages as opposed to marking the entire PDF in this interface.

Many parts of Start:Review’s GUI perform similar functions. It’s multiple Viewers, for example, have specialized features for certain file types, but they all at least display the associated item and its Concepts. As another example, most tables and lists seen throughout Review’s interface make database calls on background threads, are paged so that no more than a certain number of results are displayed at any time, and have associated page controls. I designed the majority of Start:Review’s interface and supporting code, starting with a WPF prototype created by a UI designer and collaborating with various programmers and designers over the years to reach its final version. The current design strives to maximize C# and XAML readability and reusability, manage memory, ensure interface responsiveness during long database calls and operations, and remain extendable for future needs.