What was the problem or opportunity that we needed to solve? đ¯
Myenergi's legacy API, designed based on the device-server communication standard, was beginning to show its limitations as the server functionality expanded and demand for third-party integrations grew. As a result, there was a need for a new, standards-compliant API that could facilitate easier and more secure integrations.
How have we approached the challenge? đĄ
Our team began by understanding Myenergi's partners' requirements, such as Octopus Energy and AGL. We then developed an authentication layer leveraging OAuth, which wrapped around Myenergi's Cognito solution, ensuring robust and straightforward authentication. To further standardise the API, we implemented typesafe REST endpoints and added webhooks for real-time data. In addition, we supported third-party clients in their integration process.
What is the outcome? â
While the API is yet to be launched, we anticipate that third-party energy providers like Octopus Energy can manage hundreds of devices through secure and standardised endpoints. Implementing a well-thought-out and standard API will allow for easier integrations by other clients. There is also potential for monetising this API, offering access to hobbyists and third parties interested in managing Myenergi's devices.
Applied technologies đģ
The project utilised various technologies, including REST, tRPC, OAuth2, AWS Lambdas, AWS Cognito, DynamoDB, Typescript, and Node.js.
Keywords
AWS Lambda, SST, AWS DynamoDB, AWS Cognito, Redis, Terraform, Vitest, Typescript, Node.js, tRPC, OAuth2.0, REST