I was contracted to build a new B2B website that gave wholesale customers the ability to order directly from Sanrio. The requirements were not only to build a shopping cart, but to encompass all of the business rules associated with an order and have it tie directly to their ERP. This included specific ordering rules for customers & salespersons, credit checks, special product offers, including prebook products. The data not only had to interface with Lawson, it also came from spreadsheets via email. This was a complicated project just from a data perspective.
Unfortunately, the project got off to a rough start after my business parter, a.k.a the lead web developer, decided to move to Ireland, 3 months into development. After a month of trying to perform my role as data architect, and take over as web developer, I made the decision to move from PHP/Apache to MVC/.NET. From the client's perspective we were starting over, but in reality we moved from an unpaved side street, to a modern highway and were quickly meeting our deadlines.
To be honest, the decision to change environments after 4 months of development was one of the biggest I've had to make in my career. While I could slowly reverse engineer the work already done in PHP, I had minimal to no experience with .NET development at that time. Luckily, I was managing the funding and client's expectations properly, so I hired a full-stack .NET engineer and spent the next 2 months on the biggest learning curve of my life. When the time came for the developer to take a permanent position elsewhere, I had no problem taking over as lead web developer. While I'm learning new techniques everyday and always expanding my knowledge, those 8 months were some of the most stressful and rewarding of my life.