Launched in May 2014, UpdateZen gives executives and managers visibility into the status of everything important their people are working on, eliminating dreaded status e-mails and cumbersome spreadsheets/documents. As hire #1, I was head of engineering at this early-stage startup, and the sole iOS developer. We first built the backend on Parse, then moved to Heroku + Node.js + Postgres.
No storyboards. No tight coupling of controllers to one another. Instead, view controllers have no knowledge of their creators, containers, or siblings. This allows for easy re-use. I use the delegate pattern liberally so that I can coordinate the flow of the application in a loosely-coupled way.
No singletons. Instead, controllers are given all the external dependencies they needs to do their job, such as settings or the data store. I use an awesome library called BloodMagic for dependency injection.
Firm separation of concerns. I use the MVCS (Model + View + Controller + Store) pattern. The model layer never fires error UIAlertViews, as in some code I’ve seen!
- Multithreaded CoreData data store with offline data access
- Secure storage and periodic validation/refresh of API token
- Multiple app entry points via deep linking and push notifications
- Integration with iOS Contacts and Camera/Photo Library
- New Relic performance monitoring and Heap for analytics
- Reusable, encapsulated views
- 100 XIB files
- 220 class files
- 36 third-party libraries managed via CocoaPods
- Uses my custom UINavigationController with push and pop blocks
- Uses my custom NSURLConnection+Retry category for easy network request retries.
- Open source contributions (Auth0, PFCloud+Cache, Parse+NSCoding)
Guided development of new CRM iPad app for students to manage their own health coaching practices, from lead capture to client management. WCF backend API with JSON and XML REST endpoints. Multiple integration points with core .NET business platform using SOAP.
- Integration with native iOS Contacts and Calendar
- WebDAV layer for data syncing with any iOS device
- Dynamic form rendering via unique Forms API
- Data collection via dynamic forms on student sites in Drupal
Maintained and updated Universal iOS app that delivers encrypted audio, video, and supplemental content to students using HTTP Live Streaming (HLS) from Amazon S3 and Cloudfront CDN. Interfaces with core .NET business platform using SOAP.
- Dynamic nested menu engine and content scheduling
- Multiple quality variant streams
- Multithreaded file downloads
- Offline media access
- KIFF testing framework
Developed new iPhone 4S app that connects to a Mobilogics iScan hardware laser scanner via the iPhone dock connector. Communicates with backend JSON REST API. Search by barcode, ticket number, or last name. Prevents duplicate entry. Internal staff distribution only.
- Multithreading using NSOperation/GCD
- External Accessory framework
- JSON REST API
Developed new iPhone 5 app that communicates with the NOAA National Weather Service for precipitation data using SOAP XML API. Future version will supply push notifications at designated times.
- Custom UILabel controls with built-in DatePicker and UIPicker
- SOAP XML API using sudzc proxy
- XML parsing using TinyXML
- Model layer unit tests
- Core Animation
Maintained and extended staff control panel for 150+ employees. Manages all mission-critical business operations including enrollment management and revenue processing. Multiple integration points with Salesforce, Authorize.net, Moodle, Amiando. Service layer exposed over SOAP.
- C#/ASP.NET Web Forms and console applications
- ASMX and SOAP web services
- SQL Server 2005
- LLBLGEN ORM
- SSRS reporting
Maintained and extended student portal for 40,000+ global students and alumni for course, tuition, and profile management. SSO to other web properties. Multiple integration points with Salesforce, Authorize.net, Moodle, Amiando.
- C#/ASP.NET Web Forms
- SQL Server 2005
- LLBLGEN ORM
- Liquid Templates
Piast Enterprise Manager
Intranet application to enforce business rules and workflows in purchasing, invoicing, financials, reporting, labor scheduling. Using LinqToSql layer over POS database. Features integration with QuickBooks and ConstantContact, dynamic PDF generation.
- LINQ to SQL
- Quickbooks integration
- Dynamic PDF generation
- Google image search API
- Amazon API
- Facebook connect
Intranet application to manage academic tutor scheduling at Boston College. Features include daily schedule view, searchable tutor profiles/schedules, student appointment history, full administrative reporting. Secure access from multiple staff terminals.
- Tutor matching engine
Intranet content management application to create and manage technical documentation at Boston College. Features include secure Windows user authentication and authorization, check-in/check-out, revision tracking, XML data storage, HTML generation via XSL transformation, automated FTP of documents to web server, and RSS feeds.
- AD Authentication
Help Desk Manager
Intranet application to manage Boston College Help Desk service records of users seeking walk-in assistance. Features include real-time user queuing, searchable user history and past problem resolution logs, integration with web knowledge bases, detailed administrative reporting. Secure access from multiple staff terminals.
Internet application to manage online music community. Features include member login, individualized portals, searchable member directory, message board, room reservation system, MP3 uploads. Restricted access to public, authorized access for internally authenticated members.
Status Update Manager
- Flatfile DB
Catering Order Forms
Scripted forms to validate, calculate, and preview online catering orders before being processed. Features include menu details and configuration variables stored as HTML hidden fields for easy site administration.
Link Statistic Manager
Scripted forms to collect, store, and display link hit statistics from CD-ROM brochures distributed by the Boston College MBA program. Features include password protection, graphical and raw data displays.
- Flatfile DB
Centralized scripted page referral form that can be called from all pages on the Boston College web server. Features include submission domain checking for security, submission log for statistical purposes.
- Flatfile DB
Conducted formal usability testing with end-users for web-based file sharing application at Boston College. Interface improvement recommendations shared with vendor as well as with other Universities.
- Usability Testing
Conducted user-centric redesign of group management application at Boston College. Refactored user requirements and gathered feedback from current power users. Created storyboards and created test designs and workflows.
- Requirements Analysis
HEAT Polling Service
- Windows Services
- Oracle 9i
Internet application to conduct online research survey for the Boston College Psychology Department. Features include email generation for future questionnaires and auto recognition of returning participant via encrypted ID in mailed links.
- Encrypted unique identifier generation
Wild Women Outfitters
- Integration with inventory system
- Page output caching