Senior Programmer Needed for Energy Efficiency Web App

Senior Programmer Needed for Energy Efficiency Web App

Closed - This job posting has been filled.

Job Description

Blue Planet Foundation is a nonprofit organization focused on promoting renewable energy and energy efficiency. This app is designed to educate users on how the devices in their home cost money, and provide tips on how to save energy and lower their utility bill, as well as offer rebates on new purchases.

We are in need of a programmer to provide the complete application logic, server-side functionality, and database management for our consumer energy web application. You will be organizing users, user's appliances, and implementing algorithms to calculate energy usage. Additionally, the application requires administrative functionality to modify the database of appliances, tips, users, as well as provide reporting on aggregate user data.

This is a modern, responsive web application that must be fully functional on a variety of browsers, resolutions, and operating systems including: desktop, tablet, mobile, iOS, Android, Chrome, Firefox, Internet Explorer, Safari. This is not a native app, but should run well on mobile web browsers.

You must be available to communicate and integrate with other developers working on design and client-side code using the Twitter BootStrap and jQuery frameworks, and the Flot charting library. We currently use Skype for communicaion, but are open to other means as well. You must be familiar with GitHub version control.

You must be able to provide recommendations for maintaining and deploying to separate development and production hosting environments. We have no preference of languages or frameworks, but you must be able to communicate the reasoning for your choice of technology (such as MySQL, PostgreSQL, Ruby/RoR, PHP, JSON, XML, Zend, CodeIgniter, etc.).

App Summary:
* Landing - User login and promotional info to encourage sign-up.
* Walkthrough - Scripted step-by-step new user tutorial.
* My Home - View your appliances grouped by the rooms in your home.
* Energy Usage - Interactive data graphs based on appliance energy use.
* Lower My Bill - Summary of energy-saving tips and potential money savings.
* Rewards - List of rebates available from various agencies (state, fed, utility).
* Badges - User achievements list and interactive picture puzzle that evolves from simple to beautiful as positive reinforcement.
* Settings - User preferences, email alerts, survey questions.
* Admin - Database management and reporting.

Requirements Include:
* Database creation and maintenance. Includes user data, home appliances and devices, categories, energy consumption patterns, device usage patterns, purchase rebates, and more.
* System emails, reminders, and app notifications.
* Game-like achievements and pop-ups.
* Simple interactive 'complete-the-picture' puzzle mechanic.
* New user walkthrough/tutorial and account initialization.
* Security audit including proactive prevention of SQL injection and input validation, lockdown of server settings to prevent unauthorized access.
* Social integration (sharing and inviting friends on Facebook and Twitter) - custom of via ShareThis.
* User log in and new account sign up.
* Integrate Flot charting library to render data graphs.
* HTTPS security.
* Secure administrative features providing easy-to-use tools to update the database of users, appliances, tips, rebates, etc. Also tabular and graphical reports on aggregate user data - such as most expensive device categores and more.
* Friendly catches for user and system errors and 404.
* Maintain bugs in GitHub issues tracker.
* Maintain project task status in Asana.
* Support for a maintenance mode toggle that allows streamlined updating of data and code to the production server, while locking users out with a friendly message.

Additional details provided when project begins and are available on the project GitHub wiki.


Deliverables:
* Final bug-free (as can be) application functionality, working on modern desktop and tablet browsers (see list above). This means a complete user and administrative experience. Example: A user will be able to create an account, customize his/her profile, evaluate reports and find trends, select money-saving tips, leave with a to-do list, return and mark off "done" items, and see a report of the money they can or did save.
* Working and final code files (e.g. HTML, JavaScript, CSS, PHP, Ruby, SQL) maintained and delivered to the organization account on GitHub.
* Working and final code deployment to development and live production servers.

We will only respond to proposals that reiterate an understanding of the design requirements. Previous experience with energy industry a bonus.

Thank you.

---
Skills: server-administration, design, facebook, json, twitter