← Back to All Placements

Harishan Ganeshan

Software Engineer

KAIKAKU AI (acquired by REEF Technologies)
London, UK

%

Summary

I spent my industrial placement as a Software Engineering Intern at a six-person London startup, building automated robotic machinery for restaurants. KAIKAKU's flagship product, called Fusion, is a robot capable of autonomously assembling rice bowls for Japanese/Hawaiian cuisine, at a rapid pace. Halfway through my placement, the company was acquired by a larger food-technology group, and I worked on full-stack financial applications with the intention of real-world deployment at a partnered restaurant. In a team of that size, I was given real ownership and responsibility over my projects from the beginning.

Role and Contributions

The first half of the placement was spent on the Fusion robot itself: writing low-level software for its motors and sensors; writing software for a camera system within the robot; designing a circuit board to distribute power throughout the system, monitor for faults, and automatically reset any circuit boards that are stuck in a fault state. Halfway through my placement, the company was acquired by a larger food-technology group, and my work changed direction away from Fusion and more towards restaurant logistics. I conducted a study into whether an inherited AWS-based cloud system could be rebuilt more cheaply on free, open-source software, and built working prototypes to evaluate the answer. I then built, as the only engineer on the project, an invoicing and accounting application for a partner restaurant, with bespoke features as requested by the manager. I demonstrated an MVP to the manager and received positive feedback. I will continue to develop the software towards production-readiness and real-world deployment.

Technical Skills

On the embedded firmware/hardware side I wrote C++ firmware for ESP32-based nodes, Python Computer Vision algorithms for enhanced camera quality, and Linux/ROS 2 to integrate camera functionality into the wider robotic system via a Raspberry Pi. I also designed a Printed Circuit Board that used Ethernet for networking, P-MOSFETs for power multiplexing, and inbuilt power regulation. On the software side, I built a complete financial web platform to production standard: TypeScript, Next.js and Fastify for the interface and the server, and PostgreSQL for the database. Because the application handles money, most of the effort went into correctness rather than features - manually architecting schema for the database; designing the database so that an invalid financial state cannot be recorded; encoding UK VAT rules into the database; allowing all financial actions to be fully traceable and auditable; and implementing an idempotency layer to prevent duplicate writes to the financial ledger by accident.

Professional Skills

The team was six people, so I was held fully accountable for my own work. I learned to convey progress and design decisions concisely but deliberately in meetings. Biweekly team meetings became useful anchors to plan my own week's work against. Being acquired mid-placement meant adapting to a larger organisation, and absorbing a great deal of inherited documentation fast. It helped to immerse myself deeply in a few select subsystems, and to exchange insights with teammates focusing on other subsystems, to fill in the blanks as to how the parent company's systems worked overall. I was forward-deployed to partnered restaurants' sites to help with technical problems, working directly with managers and staff rather than engineers, as well as gathering comprehensive requirements for the bespoke financial platform I was making for them. I learned to be realistic when setting personal deadlines. Ownership made me more deliberate too: I learned to write detailed documentation for my financial application as I went along, to help communicate its inner workings to other engineers in the parent company.

Tags

Software Hardware (Digital) Finance AI