When I started my summer internship, I expected to spend most of my time observing — maybe helping out with small tasks, maybe shadowing senior developers. Instead, I found myself deep in the middle of real projects: writing code that would be used by a client, debugging microcontrollers in front of students, and building content that would later shape how others learn technology. It was an experience that blurred the lines between software, hardware, and education — and it changed the way I see engineering.
Working with Elecfreaks: Building a Real Platform
One of the core projects of my internship involved working with Elecfreaks, a client company focused on IoT devices. I collaborated with frontend and backend website developers in their organisation to develop their student management website using Vue.js. What made it extra exciting was learning how the frontend integrates with the backend!
A snapshot of the website I worked on!
I wrote components that handled dynamic rendering, form validation, and API interactions, while also gaining experience in Java, Python, and HTML to ensure smooth data flow. For the first time, I got to see how state management, asynchronous calls, and server-client interactions come together to form a complete system. Debugging those interactions taught me how a single misconfigured API route or mismatched data type could break the entire pipeline — and how important precision is in web development.
Designing a micro:bit Curriculum
Alongside web development, I contributed to developing a curriculum around micro:bit, an IoT device designed for education. This involved designing, developing and testing sample projects that could run reliably on the hardware.
I wrote code in MicroPython and JavaScript, experimenting with inputs (buttons, sensors) and outputs (LEDs, sounds, external modules) to demonstrate concepts like conditionals, loops, and event-driven programming. Each project had to balance technical rigour with accessibility, ensuring that students could replicate it while still learning real coding principles.
This gave me experience in translating hardware APIs into educational content, something I hadn’t done before. It also forced me to dive deeper into micro:bit’s capabilities than I would have on my own.
Arduino and micro:bit Workshops
One of the most memorable parts of my internship came in the workshops I assisted in, along with Science Centre mentors. These sessions often involved Arduino and micro:bit hardware, where I was responsible for helping participants build circuits and write the code to make them run.
I worked with sensors, actuators, and serial communication, troubleshooting issues such as incorrect wiring and code that failed to compile. The real challenge was solving these problems under time pressure, often with multiple mentees asking for help simultaneously.
Through this, I became more confident in embedded systems debugging — checking circuit connections with a multimeter, isolating whether errors were hardware- or software-related, and quickly iterating code to test hypotheses. It also taught me to write modular, testable code, since hardware projects can fail in so many unpredictable ways.
Overall
My experience here in Tinkertanker has been nothing short of fruitful. Through my 12 weeks here, there were so many opportunities for me to try new things and gain more knowledge, be it another programming language, microprocessor, or tech stack. The company has a plethora of resources that can be used at any time and place, making it a perfect place for students to intern at and broaden their perspectives on the technology industry.
The EdTech industry may not be the first place people think of when starting their careers, but it’s certainly one I’ll carry with me moving forward.