Sorin Daniel Hogiu
Personal Data
Address **** ******** **
Oakville, L6H 2Y1
Phone 647 - 505 - 1041
Email ***********@***********.**
Profile
Over 18 years' experience in software development, working with clients,
designing software, leading teams and delivering results. I have been
instrumental in successful project deliveries by employing a wide variety
of skills from requirement gathering, software architecture, team-leader,
developer, performance optimization and quality assurance.
I have experience in working with most important technologies including
Java and .NET platforms, Oracle and SQL Server. I have a very good
understanding of the SCRUM and TDD methodologies applying them in the
projects with high efficiency and results.
Adept at maintaining focus on achieving bottom-line results while
formulating and implementing advanced technology and business solutions
to meet a diversity of needs. A deep technical background and quick
adaptation to new technologies provides the ability to immediately build
proof of concept demos, determine the strengths and weaknesses of
technologies, present to clients and technical teams, and empower and
mentor development teams to successful delivery.
Main areas of expertise
. Software architecture, modeling and design
. N-Tier applications design and implementation using SOA with
Silverlight or rich HTML 5 frontend
. Database design and programming - SQL Server and Oracle
. OR mapping with ADO.NET Entity Framework or Hibernate
. OO programming in C# and Java
. Security, certificates, encryption & authentication
. Performance testing and improvements
Experience
October 2014 - April 2015 Intuit Canada, Mississauga, Canada
July 2013 - September Brink's Global Services / Threshold
2014 Financial Technologies,
Mississauga, Canada
September 2011 - July Intuit Canada, Mississauga, Canada
2013
July 2010 - November 2011 Loblaws Companies Limited, Mississauga,
Canada
September 2006 - July Logitech Canada Inc., Mississauga, Canada
2010
September 2002 - August Prism Enterprise Solutions, Brasov, Romania
2006 branch of
Lanpher Wilson Business Consulting, Toronto,
Canada
January 1999 - August IT-Vision Systemhaus GmbH, Langen, Germany
2002 Pathos Software S.R.L., Brasov, Romania
Education
October 1998 - July 1999 M.Sc., Faculty of Electrical Engineering and
Computer Science, Brasov, Romania
October 1993 - July 1998 B.Sc. in Computer Science, Faculty of
Electrical Engineering, Brasov, Romania
Connect Profile to CRA's tax data delivery service
Intuit Canada - Senior Software Consultant (December 2014 - April 2015)
Technologies used
Pascal, C#, Java 6, JavaScript, .NET 3.5, REST, OAuth, WPF, MVVM, XML,
XSLT, XPath, XQuery, NodeJS, ExpressJS, JBoss 7.1, Oracle 10g, Delphi
2007, Visual Studio 2013, ReSharper, Perforce, JIRA, Code Collaborator
Project Summary
When CRA implemented a new way of exposing the customer data, Intuit
decided to offer the new feature in ProFile to enhance the data
collection, improving the efficiency and minimizing the data entry
errors. The feature was implemented as a REST service to allow other
offerings to use the same service, but at the same time extensible to
allow implementation of similar services with minimal code re-write. The
UI was implemented in WPF to benefit the improved user controls and to
significantly reduce the implementation and maintenance time.
Main Responsibilities
. Created a new JBoss REST service responsible with downloading the data
from CRA (by doing regular pools with tokens provided by CRA OAuth
system) and providing the downloaded data to ProFile
. Designed the XSLT transformation service that changes the data from
CRA's specifications into a ProFile's specific format
. Designed and implemented a first for ProFile WPF frontend to present
the data to the customer in a rich UI with the power to partially
accept or reject the downloaded dataset
. Integrated the new UI paradigm into the old ProFile system by creating
adapter layers to communicate with the old program
. Implemented the web layer in NodeJS using the ExpressJS framework
Copy tax information from competitor's files
Intuit Canada - Senior Software Consultant (October 2014 - April 2015)
Technologies used
Pascal, C#, .NET 3.5, HxD (Hex Editor), Delphi 2007, Visual Studio 2013,
ReSharper, Perforce, JIRA, Code Collaborator
Project Summary
ProFile supports data import from different sources and by adding a new
data source it offers to new customers the ability to migrate their
business from an existing software to ProFile. The tool is able to
understand the database structure, decode and read the data from the
competitor file system, and import the data into ProFile by generating
new customer files that are added to ProFile's database.
Main Responsibilities
. Decoded the file structure of the competitor software (observed the
file interactions; created custom data decoders; used hex editor and
other tools to compare and read the data)
. Identified the different data structures saved in the file
. Implemented de-serialization methods to read the content of the file
. Implemented the data associations between the source and ProFile's
data structures
Portal (device management)
Brink's Global Services - Senior Software Consultant (July 2013 - September
2014)
Technologies used
C#, ASP.NET MVC 4, WCF, NHibernate, jQuery, XUnit, Ninject, WIF, Kendo
UI, Bootstrap, Google Maps API, SSRS, SQL Server 2012, IIS 7.5, Visual
Studio 2012/2013, ReSharper, SVN, TeamCity, Target Process
Project Summary
Brink's Global Services is supporting thousands of ATM devices with
clients and providers all over the globe; therefore, the need to have an
integrated system that presents the status of the device and is able to
respond quickly to failures. The project is created with the latest
technologies, presenting the devices in a nice and intuitive UI using
Google Maps for better visualization and localization. The reports are
created with SSRS and exposed in the UI through reporting services API
using both PDF and Excel rendering.
Main Responsibilities
. Responsible for technical implementation and design of the application
. Implemented the certificate based authentication, configured ADLDS to
authenticate users, integrated the new authentication with existing
Security Token Service
. Created new reports using SSRS
. Created complex stored procedures and SQL jobs to aid the reports
generation
. Integrated the reports in the Portal application
. Debugged the application using EWT, failed request tracing, IIS logs,
etc.
. Maintained and deployed the application in the production environment
Infrastructure migration
Brink's Global Services / Threshold - Senior Software Consultant (January
2014 - September 2014)
Technologies used
SSIS, SQL Server 2012, IIS 7.5, Networking, Firewall, Load Balancer,
Windows Server 2012, Visual Studio 2012/2013, SVN, TFS, TeamCity, MS
Project, MS Visio
Project Summary
The project was created with the scope of moving the Portal, Device
Manager and auxiliary applications from Threshold infrastructure to a
complete new infrastructure having 2 data centers (one for disaster
recovery), with multiple load balanced servers in each data center.
Main Responsibilities
. Documented the existing infrastructure
. Participated in the creation of the architecture for the new
datacenter including servers, databases, software, service accounts,
network and DNS, server certificates, batch jobs, etc.
. Updated the applications to make them ready for transition
. Created a new build environment, created the build configuration,
migrated the code to the new repository
. Implemented the SSIS migration packages that move only a restricted
dataset to the new system
. Implemented the validation scripts to ensure only the required data
has been migrated
. Implemented the ADLDS migration; installed and configured the ADLDS in
the new system with replication between datacenters
. Validated the software/server/network setup in each environment (Dev,
Test, QA, Prod, Prod DR)
Review and document the Settlement system
Threshold Financial Technologies - Senior Software Consultant (December
2013 - June 2014)
Technologies used
SSIS, SQL Server 2005/2008, SVN, Visual Studio 2012, MS Visio
Project Summary
The Settlement system is being used by Threshold to generate the
daily/monthly transactions reports for all clients. The data is being
transferred from ATMs and third party data feeds into a complex table
structured and manipulated with the help of a multitude of SQL Server
jobs, stored procedures and SSIS packages so that the daily reports can
be generated and transferred to the customers.
Main Responsibilities
. Reviewed the table structures, SSIS packages, stored procedures,
scheduled jobs
. Reviewed the input and the output starting from Postilion switches to
the generated reports
. Helped in the documentation of the whole process, created Visio
diagrams
. Installed the system in a new test environment
. Updated and created new stored procedures & SSIS packages to implement
new features in the Settlement system
Migrate ProFile T3 module to C#
Intuit Canada - Senior Software Consultant (April 2013 - July 2013)
Technologies used
Pascal, C#, .NET 3.5, Delphi 2007, Visual Studio 2012, ReSharper,
Perforce, TeamTrack, Code Collaborator
Project Summary
After the successful migration of the T1 module Intuit decided to proceed
with the remaining modules, the next candidate being the T3 module that
is being used to calculate the trust taxes. Having learn the lessons in
the previous migration, we decided to do a reimplementation instead of a
conversion to better organize the code and be easier to extend and
maintain.
Main Responsibilities
. Defined new concepts on how the code should be organized; created a
new calculation engine, designed with SOLID principles in mind
. Used a conversion tool to minimize the code re-write
. Utilized ReSharper to refactor the code and organize in new
classes/methods
. Integrated the code with the existing product by creating adapters to
the old code
. Created test applications that were able to compare the calculation
results between old and new code
Find an Accountant
Intuit Canada - Senior Software Consultant (February 2013 - May 2013)
Technologies used
Python, Java 1.4, Django Framework, HTML 5, CSS 3, JavaScript, jQuery,
jQuery UI, Google Analytics, MySQL, PyCharm, Eclipse, GitHub, Trello
Project Summary
The project was created as an experiment to understand the need of
associating a consumer with an accountant when a very complex tax
scenario is encounter. We created a new application using the Django
Framework that allows for quick implementation and iterations. We
modified the existing Turbo Tax Online application by adding complex tax
conditions that triggers new pages for consumers and forwards the
customer to the new application.
Main Responsibilities
. Worked on creating the new project with the team
. Defined the architecture, the data structures and the web page
structures
. Implemented in Python the authentication method to be able to
automatically login the customer using their Turbo Tax credentials
. Implemented the import of the Turbo Tax data as attachments into Find
an Accountant by using the WCF calculation engine
. Implemented the search page for accountants offering the customer the
option to choose their accountant
. Implemented sharing capability between consumers and accountants;
created new pages to expose the consumer files to the tax accountant
allowing them to open the tax files directly in ProFile
. Analyzed the efficiency of the system with Google Analytics; modified
the implementation to
achieve the optimal customer acquisition performance
Turbo Tax Online revamp
Intuit Canada - Senior Software Consultant (September 2012 - March 2013)
Technologies used
C#, ASP.NET, Java 1.4, WCF, HTML 5, CSS, JavaScript, jQuery, jQuery UI,
XML, XSLT, XPath, Oracle 10g, Visual Studio 2012, Eclipse, JBoss 4.2, IIS
7, Perforce, TeamTrack, Code Collaborator
Project Summary
By having a new calculation engine for the consumer taxes, Intuit wanted
to use it in all the existing offerings to minimize the maintenance
required each year. We took the existing online Turbo Tax Online
application and re-write the calculation module to use the new ProFile T1
engine exposed as a WCF web service.
Main Responsibilities
. Designed the architecture of the new tax calculation service
. Created interfaces to be able to easy change the calculation engine
depending on the taxation year
. Improved the T1 module to be easier to re-use in other offerings
. Created a new WCF web service to expose the tax engine
. Worked with the team on hooking up the WCF service with the existing
Java application
. Updated the Turbo Tax interview service to guide the consumer through
the complex tax rules
Migrate ProFile T1 module to C#
Intuit Canada - Senior Software Consultant (September 2011 - October 2012)
Technologies used
Pascal, C#, .NET 3.5, XML, XSLT, Delphi 2007, Visual Studio 2010,
Perforce, TeamTrack, CodeCollaborator
Project Summary
Intuit had 3 different offerings each one using a different calculation
engine. Each year CRA comes with new requirements introducing new forms,
adding new fields to the existing forms, or changing the calculation
formulas. Having 3 different teams the work is being multiplied with the
same result, hence the need to consolidate everything into a single
module that can be use by all products. We took the old Pascal code,
converted it to C# and added an adapter layer to the old product.
Main Responsibilities
. Defined the interfaces to the tax engine
. Created the adapter layer from Pascal to the new C# module
. Participated in the migration of the code re-writing parts of the new
code in C#
. Debugged the application, improved the performance in critical areas
. Updated the Profile's forms with to the new tax requirements
. Updated the complex tax calculation engine to the new tax rules
Traceability and Commodity
Loblaw's Companies Limited - Software Architect (July 2010 - November 2011)
Technologies used
Java 6, SOA, HTML, JavaScript, jQuery, jQuery UI, Teamcenter Enterprise
8.1, Oracle 10i, Tomcat 6.0, WebSphere 7.0, Ant, SVN, Eclipse
Project Summary
Traceability is a hot topic in consumer goods: it offers customers the
assurance that the product they purchase doesn't have any known
contamination. There was an increase need to identify all the ingredients
and sub-ingredients used in the creation of a product so that in case of
a contamination the company can quickly identify all the products that
are impacted. The solution was to extend the existing Teamcenter modules
with a new module created with Java SOA backend and a new HTML /
JavaScript UI that is easy to use allowing each vendor the capability to
add their formulas and ingredients in a standard format.
Main Responsibilities
. Gathered the requirements from the customer for the traceability
package
. Created the design of the application using SOA (a new for Teamcenter
Enterprise)
. Defined the Teamcenter extensions for the new package
. Defined the SOA layer
. Created the client architecture with jQuery & AJAX
. Implemented the data migration using Oracle SQL queries and Teamcenter
utilities
. Implemented the printing layer using Apache FOP
Martini (reviving the Harmony website)
Logitech Inc. (Canada) - Application Architect (March 2008 - July 2010)
Technologies used
C#, .NET 3.5, ADO.NET Entity Framework, Silverlight 2 & 3.0, ASP.NET,
WCF, SOA, SQL Server 2005, SSIS, Visual Studio 2008, TFS 2008, Expression
Blend, ANTZ Profiler
Project Summary
The project was created to move the Harmony website to the new
technologies including Silverlight, WCF and EF. Harmony is the
programmable universal remote designed to replace all IR remotes from
your coffee table by combining them in a single activity base remote. The
solution is using an extended database that offers up-to-date information
for more than 200,000 devices, with a trendy Silverlight application on
the frontend and WCF communication with the backend.
Main Responsibilities
. Architected and implemented parts of the new Harmony website using
Silverlight and WCF
. Re-designed the existing internal applications to use the new common
WCF backend
. Implemented and maintained the security layer using AD-LDS
. Designed the new database structure and the entity framework layer
. Optimized the EF layer by using different approaches to read the data
from the database (ESQL, Linq-to-EF, lazy loading, stored procedures,
caching)
. Analyzed and optimized the WCF layer
. Implemented the SSIS packages used to move the data into the new
structures
. Reviewed, estimated and contributed to the Agile process
Aqua (optimizing the algorithms)
Logitech Inc. (Canada) - Sr. Software Developer (February 2007 - February
2008)
Technologies used
.NET 2.0, ASP.NET, XML, XSLT, CSS, JavaScript, SQL Server 2005, Visual
Studio 2005, Visual SourceSafe
Project Summary
The project goal was to improve the experience for existing and new
Harmony customers. The website is using complex algorithms in the whole
setup process, and the project aim was to improve the accuracy and the
performance for these algorithms.
Main Responsibilities
. Analyzed and improved the functionality of existing algorithms used by
the existing Harmony website. Increased the device match rate from 89%
to 93% introducing fuzzy string matching. Improved the algorithm used
to analyze the infra-red commands (failure rate decreased from 15% to
6%)
. Troubleshot production bugs and provided solutions in optimal time
. Improved the performance for the internal applications used by the
customer support
. Designed and created new applications to improve operational
efficiency and data quality
. Contributed in requirements gathering, working with the internal
customers to get the optimal results
. Mentored 4 junior developers, coordinated their work, did code reviews
Crystal (ensure scalability for Harmony website)
Logitech Inc. (Canada) - Sr. Software Developer (September 2006 - January
2007)
Technologies used
VB6, ASP, .NET 2.0, XML, XSLT, SQL Server 2005, Visual Studio 2005, Intel
VTune, Visual SourceSafe
Project Summary
Having big scalability problems in 2005, a main part of the 2006 year was
dedicated in assuring that the Christmas season of 2006 will pass without
any problems. The solution was to create a .NET layer that will leverage
the use of the .NET connection pooling mechanism and optimize the
database access. A lot of time was spent in writing new stored procedures
and in improving the data access layer.
Main Responsibilities
. Ported the old VB6 application to .NET
. Performance tested and optimized the .NET and the VB6 application
. Created new stored procedures to improve the data retrieval
. Optimized the data access layer reducing the database calls per page
from 100 to 5-6 calls
. Introduced a caching layer for global data (data that changes rarely)
ProductBase PLM Solution
ProductBase Inc. (Canada) - Sr. Java Developer (March 2005 - August 2006)
Technologies used
Java 1.4.2, JBoss 4.0, Hibernate 2.0, Ant 1.4, JBPM 2, WinCvs 1.3, Oracle
9i, Eclipse 3.1
Project Summary
ProductBase is a Product Lifecycle Management (PLM) solution created
specifically for the automotive supplier to manage the product data and
processes. The product process management data model and workflow engine
is designed to manage the innovation, development processes, costing,
automotive 6 gate process, manufacturing processes and the entire product
record from ideation to end of life.
Main Responsibilities
. Designed and contributed to the implementation of ProductBase modules
o Product Data Management
o Program Management
o Change Management
o Document Management
o Supplier Management
o Customer Management
o Administration Module
o CAD Integration
. Implemented and designed the business processes using the JBPM
framework
. Implemented part of the UI Swing client
. Implemented the database connection layer
. Created the web services layer used to read/write the data
Distributed Collaboration Framework
Art of Knowledge (Canada) - Sr. Java Developer (September 2004 - February
2005)
Technologies used
Java 1.4, WinCvs 1.3, JBuilder X, OptimizeIt
Project Summary
DCF, Distributed Collaboration Framework, is a framework created in Java
to support many types of distributed applications including portals and
distributed services. The service-oriented architecture is layered on
multiple applications layers (communication, security, services). One of
the application implemented using the DCF was a distributed virtual file
system (VFS) running on a configurable number of distributed nodes. The
UI implementation supported both rich Swing Java client and Struts Web
interface.
Main Responsibilities
. Analyzed the business case and refined the requirements with the
customer
. Created the UML design of the application using SOA and design
patterns
. Implemented the application service layer
. Implemented, tested and improved the communication layer using Java
TCP/IP communication, asynchronous IO and NIO
. Implemented the Swing application
. Performance tested and optimized the application, especially the disk
access using various techniques to read the data
Documentum XML application
Barreau du Quebec (Canada) - Sr. Java Developer (May 2004 - August 2004)
Technologies used
Java 1.4, XML, XSLT, WinCvs 1.3, JBuilder X, Documentum 5.2.5, Oracle 9i
Project Summary
The project consists of a Documentum based WCM of one large scale public
plus 3 large scale private secure portals, with content coming for 6
partner companies and hundreds of smaller contributing organizations and
integration with multiple foreign systems data sources.The Web Content
Management framework supports XML-based authoring and single source
publishing (XML templates, XML editor rules, XSL presentation
transformations for HTML and JSP, folder mapping, workflow management).
Main Responsibilities
. Designed a better and extendable XML architecture of the whole project
using XInclude XML pattern and the benefit of object-oriented
architecture
. Developed corresponding XSD's
. Designed reusable XSL presentations of the XML applications using
include pattern
. Created reusable XSL presentations for each object type
. Developed in Java, using Documentum Fundation Classes, a migration
application to import/clear/ update the Documentum server with new
templates, presentations, XML applications, workflows and security
CostedBom Web Application
Intier Closures (Canada) - Sr. Java Developer (July 2003 - April 2004)
Technologies used
Java 1.3, J2EE, JSP, XML, Jakarta Struts 1.1, Jakarta POI, JBuilder 8,
WinCvs 1.3, Ant 1.4, BEA WebLogic 7.0, Oracle 9i
Project Summary
The main functionality of the system consists in a web component working
tool dedicated to integrate CAD bill of materials together with financial
information, to track the costs for the component and assembly parts
manufactured in the automotive industry. This XML web-based workflow
environment allows rolling up costs from the smallest part component to
the final assembly, comparison between different versions of sub-
assemblies and parts, standard and custom reports.
Main Responsibilities
. Created the data access layer used to read and transform the company
specific file format to XML files
. Generated native XML-based PDF and Excel reports using Apache FOP and
Jakarta POI API's.
. Designed and implemented the JSP interface using the Model-View-
Controller architecture and reusable components
. Integrated the application with Web interface and Tomcat server
JobCircuit Web Portal
Guzak Systems (Canada) - Sr. Java Developer (September 2002 - June 2003)
Technologies used
J2EE, EJB 2.0, JDBC 2.0, Servlets, JSP, XML, XSLT, DHTML, JavaScript,
CSS, Apache FOP, JavaMail, JBuilder 7, ErWin 4.0, jUnit 3.7, BEA WebLogic
7.0, Oracle 9i
Project Summary
The main functionality consists in a multi-site, multi-software component
toolset allowing employer to efficiently recruit, train, schedule and
maintain its full or part time workforce. This tool enables a hiring
manager to quickly and easily create a specific job requirement
customized to any position required, allows the candidate to respond to
the job posting by self-ranking the experience and apply for a job,
managing the whole employment interview/hiring process. This web-based
workflow environment allows communication between job
applicants/employees and management, e-mail notifications and scheduling
for interviews, work-shifts and on the job training.
Main Responsibilities
. Provided technical and analytical support in the design, development
and implementation of a Web Portal system using BEA WebLogic
Application Server, Jakarta Struts 1.1, XML, XSLT
. Created the database design
. Contributed to the implementation and design of the EJB layer used to
host the CRUD database access (session beans for reading the data and
session beans with CMP beans for writing) and the business logic
implementation
. Optimized the SQL queries used to read the data
. Created the XML generation layer
. Implemented the e-mail notification system using JavaMail
Investment Portfolio Profiler (DBI)
Deusche Bank AG (Germany) - Sr. Java Consultant (May 2002 - August 2002)
Technologies used
JDK 1.3, EJB 2.0, JBuilder 7, ErWin 4.0, jUnit 3.7, Actuate
e.Spreadsheet, BEA WebLogic 6.1, Oracle 8.1.7
Project Summary
The CRM application was designed as a tool for banking consultants to
make the partner's assets and investment profile, create different
investment scenarios for their clients and find the most suitable one. On
the other hand, the department coordinators could review the consultants'
tasks, review the proposed investments portfolios and monitor the overall
sales activity.
Main Responsibilities
. Designed and implemented the PDF report generator layer that is
transforming the database information into PDF using XML metadata
documents
. Created the session beans layer used to read data from database using
JDBC
. Researched for an Excel library that is able to read the static and
the dynamic data from an excel file
. Implemented the Servlets layer used to expose the PDF reports to the
customer
CRM for Private Banking (PWM)
Deusche Bank AG (Germany) - Sr. Java Consultant (July 2001 - April 2002)
Technologies used
J2EE 1.3, JBuilder 5, ErWin 4.0, Rational Rose 2000, BEA WebLogic 5.5,
WebGain's TopLink 3.6, Oracle 8.1.7, DB2, TOAD 7.3, WinCVS 1.3
Project Summary
The application was designed for customer consultants among others as a
sales oriented appointment planning tool including historical and
reminder functions; additionally a search and an easily understandable
view to personal profiles and printing thereof, along with a gradually
simplified access to or the interaction with operative consultants' tools
(integration with other planning/management already existing
application), with the marketing department (planning and managing
campaigns) and other sales channels (call center, letter shop) in several
steps (operative CRM).
Main Responsibilities
. Took part in the database design team and contributed to the database
design of the application
. Introduced the TopLink persistence layer used by the CMP EJBs to write
the data
. Implemented parts of the session beans layer for direct read from
database (JDBC)
. Coordinated and implemented parts of the UI client
. Optimized the queries used to read the data
PDF printing for dynamic HTML pages
Deusche Bank AG (Germany) - Java Consultant (May 2001 - July 2001)
Technologies used
J2EE 1.3, Symantec Visual Caf, BEA WebLogic 5.5, Retep library
Project Summary
The main task of the project was to transform static and dynamic HTML
pages to high quality printing using the PDF format. The solution is
using a JEditorPane to read and display the HTML pages. The printing
library was able to transform the java object into a PDF document that is
sent directly to the client and its content can be visual displayed
inside Netscape browser with Acrobat Reader plug-in.
Main Responsibilities
1. Gather the requirements for the customer
2. Architected the solution and presented back to the customer for
approval
3. Designed the HTML printer to the PDF pages.
4. Designed and implemented the HTML parser to allow the splitting of the
HTML document into multiple pages
. Implemented the Servlets layer to allow communication between the
client's browser and the WebLogic server
Java Multimedia Application for Optic Industry (MagicLook)
TAT GmbH (Germany) - Java Developer, Project Manager (September 1999 - May
2001)
Technologies used
JRE 1.3, Java2D, JAI, JNI, OODB, VfW, JBuilder 5, Visual C++ 5, Rational
Rose, JProbe, OptimizeIt
Project Summary
Magiclook is a Java application created for the optical consultants as a
tool to enhance the customer experience while buying glasses or contact
lenses. The application was able to acquire customer images in real time,
transform and compare them with