The following are some of the larger projects that I have worked on in recent years. I haven't included the dozens of other smaller projects I've completed, or miscellaneous work such as maintenance on legacy systems and so on.
Single sign-on, third-party service integrations, and support for multiple client applications.
Web Interface for Single Sign-on
The web interface faciliates single sign-on for all Mindjet Cloud users, whether they use the MindManager desktop application (Windows and MacOSx), the browser-based web application, or the offline reader app.
Cloud-based File Storage and Sharing
Users of Mindjet Cloud are able to save their mind map files to the cloud and share their files. They can decide to share a file with other users in their group or with anyone by sharing a link to the file.
Box.com is used as the cloud-based file storage. The logic for file sharing is handled by the Node.js application server.
Mind Map Viewer for the Web
The web-based viewer uses the Rappid diagramming UI toolkit to render complex mind maps in the browser. The viewer supports many features including search, sharing, uploading of mind map files, downloading for offline viewing, and multiple view modes.
An offline version of the viewer application was created using Electron and is available for Windows and Mac OSx.
eReader Web Application
Web-based eReader application for university-level text books.
Automated Conversion of PDF to HTML
The e-books were provided as PDF files, which needed to be converted to HTML and CSS so that they could be displayed in a web browser. Meta data and content were automatically indexed in Apache Solr, allowing for full-text search of the e-books.
Fully-featured eReader in the Browser
The e-books are protected by a subscription-based paywall. Most of the e-books included a preview available for free. The server-side portion of the system was developed using CodeIgniter.
Migration of existing content, full-text search solution, third-party service integrations.
Existing content from multiple different sources had to be consolidated in the new system. This required a mix of database migrations, API consumption, and web scraping. The content had to be simultaneously stored in a new relational database and added to multiple search indexes.
User-based Permissions System
The new content system included a permission system with varying levels of access rights. The server-side component of the system was built using CodeIgniter.
All the content was fully searchable and integrated seamlessly with the permission system. The full-text search was powered by Apache Solr.
A web-based poker game with cryptocurrencies, like bitcoin.
Everything in Real-time
The interface updated in real-time; including the game state, chat, and statistics. This was done using WebSockets. The client-side web application was created using Backbone.js, which communicated with a Node.js application server.
Multiple Cryptocurrency Accounting System
User Account Security
Multi-factor authentication was used to secure user accounts from fraudulent withdrawals and account takeover.