Dec 2005 - Sep 2007
Smarter Lessons, Inc. / Expand Technologies Roseville, CA
Sr. Web Developer
Environment: LAMP - Linux (RHEL4), Apache, MySQL, PHP4
Other technologies used: Javascript/JQuery, Flash/ActionScript and XML.
Smarter Lessons is a company providing online appointment scheduling. They specialized in Golf Lesson Scheduling but has since moved to other industries.
Smarter Lessons is a technology partner with PGA, LPGA and CPGA.
Responsibilities Included:
- Developed complex Rich Internet Applications using PHP, mySQL, Javascript/JQuery, Actionscript and XML.
- When hired their system was over worked and had issues functioning due to the new partnership with PGA and the millions of lessons scheduled.
- I recommended an upgrade and moved Smarter Lessons from a shared hosting environment into their own cage at a Datacenter here in Sacramento with no downtime.
- Recommended the purchase of all servers and equipment.
- Setup and installed all software in the new datacenter cage. Including a main web server, database server, email and development server.
- Developed and maintained a new interface where students book themselves a lesson through Smater Lessons website, reschedule lessons, look at their Lesson history, view videos of their swings or any videos the instructor attaches to a lesson.
- Developed an online payment solution for the Facilities and Golf Instructors. Each facility can setup their own payment options by setting up their Autnnet or Paypal from the admin.
- Designed, developed and deployed an automated custom billing and invoicing system for all Smarter Lessons clients.
- Assisted in development and maintenance of a video recording and analysis software with lesson scheduling components using XML web services during sync.
- Designed an online video player that streams FLV files that are attached to a lesson and available in the student interface.
- Designed a dynamic multimedia website guide for the student lesson booking interface using Flash,Oddcast's TTS Engine and XML. Created and designed a dynamic custom personality for each sport type (Golf, Baseball, etc..)
- Developed and maintained a portal for golf tips, news, stats and integrated lessons.
- Implemented a company-wide task and to do system for the development staff.
- Took a manual process of registration and created a flash wizard for registration from the website, or Kiosks at conventions.
- Developed a custom flash wizard for PGA where PGA Members can swipe their PGA card and we gather all the information we need to create an account. They verify and account is setup in seconds.
- Made a web version of that wizard as well where they type in their member number with the same results.
- PGA members had a different version of our system, branded, simplified and restricted in features.
- Developed a large library of tools to recover lost customer data (when facilities accidentally delete customers or data), do routine database maintenance and backups using InnoDB backup and many other database and customer functions developed to save time from the manual process they had before. Developed an XML web service based email system to take the load of email broadcasts off the server. Also to have access to send email from our off site video systems.
- Developed a template based email broadcast system for the clients to contact their students, dynamically insert customer data, lessons, etc...
- Recently developed a new Ajax version of the main scheduling software (instructor/facility interface). Released a beta version just 2 weeks ago, within a few days had over 100 emails from clients explaining how fast and easy to use this version is. Beta was pushed into production one week later.
My most recent problems and solutions.
- PROBLEM: Some of the facilities had over 40 instructors using the scheduling/calendaring system. Our interface has a calendar view to display multiple instructor calendars on one screen. When loading 40+ calendar it was extremely slow and had major scrolling issues. Each calendar is loading instructor start/end times, blocked times (off times in a day), lessons, groups, etc...
- SOLUTION: I created a new Ajax version of the calendar system, so that the main data was only loaded once, and modules where updated as they navigate.
I added a new feature to the Multi Instructor view that has instructor groups. So its only displaying small groups of the instructors at any given time. I also added a new page to create the groups, and assign instructor to the group using a very easy Drag Drop method.
- PROBLEM: Email broadcast. We had clients sending hundreds of thousands of emails a day using our email broadcast feature in the instructor/facility interface. This process would send each email via a loop using {data string to replace with dynamic data. {name} replaced with David. This process would slow our system down to a halt each time. So we needed to find a better solution.
- SOLUTION: I created a new web service for emailing and rewrote our main Mail class. The xml web service was found on our main mail server and the client end of the web service on our web server. Its main goal was to take the load off our web server and come up with a better solution for sending multiple emails as well as allowing our offsite video systems send mail remotely. The xml was 3 part, email list, subject/body (with reserved {} for rewriting dynamic data within the body), rewrite data (for dynamic information such as names, lesson information, etc.). It took the load almost fully off the system.
- PROBLEM: Company ran through their second round funding before becoming profitable.
- SOLUTION: Looking for a new job that can utilize my wide range of skills in web development in the LAMP environment.
* I can provide a demo upon request of any software mentioned.
Feb. 2000 - Mar 2005
Universal
ATM Network, Inc. Sacramento, CA
Sr. Web Applications Engineer
Environment: LAMP
When I was
hired with Universal ATM Network in 2000 they where strictly an ATM manufacture / sales company. I was to head up a new division for internet technology. They currently own and run over
6 revenue generating web sites or applications. Including a full
ATM Card Management system and user account management for their
ATM cards. Including a project I spend over a year developing
as an inventor, programmer and project manager. Has since become their main source of income and has stopped the manufacturing end completely.
Responsibilities Included:
- Developed complex Rich Internet Applications using PHP, mySQL, Javascript, Actionscript and XML.
- Moved all their existing customer data for ATM processing and residuals data from a Filemaker database to MySQL.
- Developed and maintained applications and tools for Calnet Business Bank, a local technology bank.
- Designed, developed and deployed an application that gives ATM card management and Payroll services to businesses with an account at CBB (Calnet Business Bank)
- Assisted with development and maintenance of several components that give IVR bank account access to CBB clients.
Using IVR, Text to
Speech and ASR technology tied into my web services.
- Developed and maintained a portal for prepaid ATM cards, money transfer and CBB accounting.
- Implemented a company-wide weblog system and online community for all CBB and Universal ATM Network employees.
- Led development and collaborated with others in front- and back-end coding for a multi-vendor/mall ecommerce system using our banking software back end for payments. Proof of concept for the banking technology.
Fully functional food ordering system that had both a web interface and an IVR system for ordering as well. www.mhungry.com
- Recommended for purchase and setup all hardware and software for Universal ATM Network at our local Datacenter (Herakles Data).
- Developed
dozens of
custom applications for companies and nonprofit organizations
using our XML interface to make unique banking transactions.
- Developed dozens of
custom donation website's using our banking system back end, including VNHelp, The "Governator"
Arnold and many more.
Side note: Each employee had business cards with a slogan under their name. The slogan was voted on by the staff and president. My cards said Ergophile (Workaholic).
Feb. 1999 - Jan 2000
Lynk Systems,
Inc. Sacramento, CA
Web Developer - E-commerce Division
Oct 1997 - Feb. 1999
Image Quest,
Inc. / Organize It, Inc.
Cold Fusion Programmer / Webmaster
Jan 1996 - Oct 1997
Ground
Zero Internet, Inc.
Webmaster / System Admin
|