The “X”

Three years ago we started something of unthinkable.

My 4th company – DyCode, a software development company – has been around 8 years at the time of this story. It’s already in a mature state, where the internal processes has been run well and automated without much of my interference. My highly appreciation to fellow top and middle layer management for making it happens. Then I asked myself, what’s next?

I have to admit that I get bored quite easily for something settled. Back in 2009, when DyCode’s offering and revenue around Line of Business (LoB) applications – that we built around web technologies, .NET, SharePoint, VSTO – got matured, I quickly got bored and chose to explore new technologies. By the launch of the first iPhone by Apple, then followed by the introduction of App Store and iPhone SDK in 2008, it marked the new wave of mobile application industry. I quickly explored the iPhone SDK, register to Apple’s iPhone developer program, developed boring sample projects that finally lead into our 1st iPhone application in May 2010, Movreak. Long story short, in 2010 DyCode was one of the first handful pioneers in iPhone application development in Indonesia, and started to offer custom app development services around it, which at that time we helped Astra International transitioning from legacy BlackBerry apps into iPhone OS-based apps. DyCode was fully transitioned into mobile apps development in 2012 by leveraging our expertise in iOS app development, that’s soon followed by other platforms: Nokia Symbian, MeeGo, S40, Series 60 (which all now already “dead”), then Windows Phone and Android.

Back to 3 years ago…

As a revamped version of a quick-dirt-last-minute creation we made for my wedding party in 2014, DyCode launched a service called Jepret Cloud. Its main feature is to allow users to automatically collect photos posted to social media using certain hashtags, and automagically print them into physical photos. It’s great for your wedding, birthday, corporate events, or even memorable instragram-able venues. You can use the service by renting it, and our awesome Jepret guys will come to your event/venue with laptops, printers, cameras, and other properties. Although the most part of Jepret Cloud is indeed in the cloud, but for photo printing we still need to bring along the gears on-site, and believe me it’s tedious effort. With the more orders to use the service, quickly Jepret Cloud became less scalable. We need to come up with a more compact machine, and cheaper to replicate. We need to make our own hardware, and that’s when the idea sparked and the challenge began. Sometime, to fully solve a problem by IT, not only custom software is required, but also custom-made optimized hardware.

I spent a half of my 2014 exploring hardware and electronics, initially with one objective in mind, building a custom-made compact machine for Jepret. At around the same time, on the other side of the world, hardware movement and so-called Internet of Things (IoT) began to grow. So-called Maker Movement – as one of the driver behind IoT – reached its culmination in 2014, in fact the US’ White House hosted its own Maker Faire and introduced a tagline #NationOfMakers.

But before telling more about that journey, let’s go back in time, even further. It should explain why I had a nerve to jump into hardware/electronics, which is quite risky move.

The Journey and The Breaking-up

If you are not in the mood to read history and being nostalgic, you can skip this part. Disclaimer: I’m not trying to brag in any way here, I write this part with the hope to inspire, if any, or at least for my own memory collection.

I’ve been into electronics for as long as I can remember. In early age, I modified a lot of my plastic car toys so that they can be driven by electrical motor. Some time around my 3rd grade of elementary school, in my attempt to make magnet  out of electricity, it was my first time being severely electrocuted while also accidentally causing spectacular short circuit that caused a blackout in the whole village, due to my lack of knowledge of AC and DC current. Learning from that experience and basic principle of electromagnetism, I built my first electric bell in 3rd grade. Then I built my first FM radio receiver in around 5th grade. Being born and growing up in Belitung island, where access to everything is extremely limited – including knowledge, electronics, mechanical components, and tooling – was not really a barrier to learn and make stuffs, although I must have done more if everything was more accessible. And I’m lucky enough to have a father who’s a maker by practice, which until now he always fixes most of things by himself, with everything he has. I learned a lot from him and had access to his limited tooling, a solder was one of them.

My euphoria in electronics happened during senior high school, which after some drama (let’s save the story for some other time), I managed to enrol in a vocational high school – STM Penerbangan Negeri Bandung – which I took Aviation Electronics major in 1996. Only by wandering from a tiny island near Sumatera to Bandung city, I had access to stuffs, by a lot. Taking electronics major equipped me with a good foundation to begin a professional journey in electronics. With so much better tooling, knowledge, and access, I made a lot of electronics stuffs during high school, both digital and analog, but mostly analog around audio stuffs. I started to build FM radio receiver – so much better than the one I built in elementary school – then followed by tape player and recorder, audio equilizer, karaoke, and more. By the time I finished the high school, I managed to complete the whole stack of analog audio player and processor, that I end up to sell it since I had another focus at that time, computer.

Yes, I physically encountered a computer for the very first time in high school, a thing that I only dreamt to hold when back in Belitung island. I first got my hands on computer in early 2nd grade that I become so obsessed by it soon after. My very first computer was XT 286 with green monochrome monitor, which is not mine though, it’s school’s. By “abusing” it, I learnt my very first programming language, QBasic, circa 1997. Being the head of Aviation Electronics Club (Avionics), I had unlimited access to that computer. My friends and I sometime took apart the computers in the Club, to retrofit by swapping things around, and learning the computer hardware in the process.

Back to “formal” study in high school, my journey in digital electronics began when I took Digital Engineering subject in 3rd grade. That’s when everything about computer hardware and programming finally made sense. Here I learned basic principles of Digital (binary system, logic gates, etc), microcontroller and microprocessor architecture and instructions, and how to program microcontroller (Zilog 80 at that time) using Assembly language.  That subject laid a good foundation for my career around software and hardware engineering in the future.

1998 was the year when a major recession happened in Indonesia that caused aviation industry collapsed, among other things. Graduating from an aviation-related vocational school in 1999 was a bad timing, to get a job in aviation industry. So I didn’t have choice but to continue the education to university.

Being graduation of a vocational school – which you don’t learn Biology, proper Chemistry, Geography, and other general subjects – and entering a university did require a lot of hard work to be able to fit in. My first year in ITB – the best engineering university in the country 🙂 – was really painful which I had to learn hard to keep up and made other things should be put on hold, including my passion in electronics and programming. By 2nd year, everything began to come back, as the subjects I should take were more targeted to the major I took, Physics – the best science major you should take 😛  In this year, I finally met my old loves, Electronics, also Algorithm and Programming subjects. During 2nd and 3rd year, I took handful of classes around electronics and programming, sometime from other majors, while also being active in Amateur Radio Club (ARC) organisation in ITB. In 3rd year, I dispatch my focus to not only being in school, but also taking part time jobs as software engineer, while also occasionally doing commercial software projects with friends. Hey, how can I pay for my university tuition and my dates with 8 girlfriends (spanning 4 years in university, the love story may be for some other time), if not taking those jobs.

My love in electronics didn’t fade away during that time. A lot of subjects I took allowing me to stay on it: System Programming, Advanced Electronics, and Digital Engineering. Since I already learned Digital Engineering in high school, learning it again in university was a breeze, almost felt like I cheated. In 3rd year, I built a digital audio system as a birthday gift for my girlfriend. A lot of electronics stuffs I built during university were mostly digital, which mostly programmable – either by interfacing with computer, or powered by microcontroller. Did I mention that I wrote a super dumb simple compiler for 8051 microcontroller that translate Assembly language to its machine instructions? I did. It was quite useless at that time, but at least I was having fun.

And all concluded by my final year project, which I built some kind of Internet of Things system (of course no one talking about IoT yet in 2003, since it’s “born” in 2009, although the “The Internet of Things” term was first coined in 1999 by Kevin Ashton). The project entitled “Design and Implementation of Home Lighting Control System and Home Monitoring System using Mobile Phone over Internet“, which you can guess that it’s essentially some kind of Smart Home. 

My final project arch.jpeg

But eventually my passion in electronics had to come to an end, as it didn’t really pay the bills. With the help of my university mentor, we tried to offer and sell that “smart home” solution in 2003, but nobody wanted it. Doing electronics, microcontroller was very expensive, requiring a huge capital if you want to do business around it. Programming microcontroller was very hard back then, and the tooling was not easily (cheaply) accessible, especially if you’re just a hobbyist. It’s even harder to sell electronics-based products profitably, at least to me at that time.

On the other hand, my skills, experience, and career around software engineering began to raise. I made handful of money (for a student) for being software engineer, trainer, and doing software projects. I even co-founded my very first software company in 2003. I put my 110% focus on software engineering ever since that eventually led to DyCode.

As for electronics, I was deeply sorry, I had to let you go for good. Good bye!

The Lost Love

As above-mentioned, I was back to explore hardware and electronics in mid 2014. There’s a huge gap between now and then. I noticed that everything is so much easier, cheaper, more accessible at that time. I had to reestablish my workbench, tooling, knowledge, and soldering skill, it’s a bit rusty.

Jumping back into electronics after 10 years was like cinta lama bersemi kembali (CLBK), an Indonesian phrase which in English probably means “lost love in bloom again”.

Back to Jepret.

Building a custom-made compact printing machine for DyCode’s Jepret product was the main objective of exploring hardware/electronics. The journey began with Raspberry Pi, a small single board computer (SBC) that’s initially made for children to learn STEM, but made hugely popular thanks to the community, that eventually used for unimaginable use cases.

The main reason we chose Raspberry Pi was its capability to run Linux (Raspbian, a Debian-descendent). When there’s Linux, there are a lot of things you can do, i.e. running Node.js, a framework and runtime of choice to develop and run our software. We’ve developed Jepret’s photo printing software mostly using Node.js, a bit of Python and C++, and it’s previously already run well on a full-pledge computer and OS. The next challenge was to make the software run on Raspberry Pi. That may sound easy today, but it was 2014 when not much best practice of doing it.

The first prototype we came up was as this photo. Yes, it’s ugly and not much of electronics work there, we just assembled things up using off-the-shelf modules. It’s just as a proof of concept after all.

First Prototype of Jepret Printing Machine

The prototype eventually worked as it’s meant to be. But of course, you can not bring it to the field, it would be quicky felt apart. Next, the challenge was how to make it compact, reliable, and beautiful.

That was when the spark on.

If we wanted to continue building Jepret hardware seriously, we knew that it would need a lot of hard work, focus, and obviously money. In early 2015, DyCode as a software development company was already in mature state, after struggling for many years. If we would be doing hardware R&D deeply, we’re worried to disturb that state. Initially, we thought to branch out the hardware R&D into a dedicated division under DyCode. But after doing some calculations, we knew that it would require significant investments, both money and effort. We realized that we would finally need investment from external parties, something that we never need during 8 years in DyCode. We finally decide to spawn it into a separate legal company, as a subsidiary of DyCode, so we can take external investment without too much complexity, and put more focussed effort and the money into that company.

Quite honestly, when we planned to start the new company, we only had a simple objective, building custom printing machine for Jepret. We didn’t know about what lay ahead, that’s unknown future.

The “X”

“X” fever goes on. You know Google X, SpaceX. “X” may mean differently for each companies. In SpaceX, the “X” is concatenation of “eXploration”, as its full name is Space Exploration Technologies. “X” in Google X may have another meaning,  but I think it’s due to what it calls itself, a moonshot factory, where it addresses huge problem, proposes radical solution, and employs relatively feasible technology. Both companies have some in common: they’re led by scientist-engineer, briliant, out-of-this-world guys; they seem to work againts status quo; they try to solve huge, challenging problems where the solution are almost non-existent today. So much unknown future in that.

So, I’d like to think that the “X” generally represents unknown variable, some kind of imagination about the unknown future. And we’ve been using “x” as the go-to symbol for the unknown quantity in mathematical equations, for hundreds of year back in the days of Al-Khwarizmi.

When we finally decided to start a new company, there’re a lot of uncertainties of what we’re about to do. Having experience in software engineering for 8 years, and myself for 18 years at that time, we know how to do software. But trying to do custom hardware/electronics, albeit still having software element in it, DyCode as a team had zero experience in the field, and my own electronics background alone might not be enough, also not many similar startups we could look up to/learn from locally. Furthermore, if our initial objective (building Jepret printing hardware) has been achieved in the near future, what we’ll do next. We knew we may build another products or services revolving around hardware and software, but still had no idea what they would be. There’s so much unknown future in that, there’re many “X”-es.

Eventually, we had to come up with a name for the new company. Inspired by aforementioned thinking, we decided to name it after its parent: DycodeX. And there it was, PT. DycodeX Teknologi Nusantara was formally founded on April 29, 2015.

I managed to influence a friend to chip in the company as he believed in the (short term) vision and my team capability. Well, I had to sell myself as well. So there he was, our very first investor, a so-called Angel Investor. Obviously I can not disclose the amount of investment, but it would be enough to fund everything for at least a half year.

Soon after all legal matters of DycodeX were settled, we started to hire some electronics engineers. After all, those what we’re lacking of, as we had plenty of software engineers we could “hijack” from DyCode. After that, we hired some marketing and sales team, we had to sell something, right?

As for myself, I was finally able to go back to my root once again, engineering. This time, not only for software, but electronics engineering.


Albeit formally founded on April 2015, we kept operating under the radar. We occasionally teased our creations, but never formally announced the company, not after 8 months later – I’ll come to that. We needed to make sure first that we’re really able to deliver, as many things still unknown.

Back to Jepret.

Under DycodeX, we continued to polish the Jepret printing machine. In fact, that’s what we’ve been doing even before the company was legal. You’ve seen the first prototype above, it needed better inside (the electronics) and outside (the enclosure).

After uncountable trial and error as we’re still learning, both in electronics and enclosure, we managed to finish the new prototype.


Some notable improvements were the better electronics, and more compact and rigid enclosure. We managed to design a Arduino-powered Hardware on Top (HAT) board for Raspberry Pi, that mainly functioned as actuators controlling (relays, LEDs), and “intelligent shutdown” – a feature needed to cleanly shut down the Raspberry Pi, to avoid cutting off the power directly (as it may cause the files within the micro SD card to corrupt). Of course, we can’t just use Arduino UNO off-the-shelf, we needed to design a custom board, albeit a super simple one (by our current standard). As for relays, voltage regulator, and power supply, we just used off-the-shelf modules. And for the enclosure, by considering the constraints of cost, skill, and available tooling, we went with acrylic. The enclosure was assembled by hand with a lot of glue job. Assembling the whole thing for 1 set of this machine required 3 – 5 days! It’s tedious.

Like any other creations, eventually we need to name it. And it’s always harder than the creating itself, it may take months. So instead of going directly with the final name, we used codename. By taking inspiration from Android major OS version naming, we codenamed it alphabetically, starting from A. Some ideas flew around, eventually Allegra codename is agreed. Allegra means “cheerful, lively” in Italian, it fitted with the thinking behind Jepret product, which to bring joys.

After a lot of perfecting – in electronics, software, and enclosure – and some field trials, just exactly 1 month after DycodeX formally founded, on May 29 we’re finally ready to make our first ever shipment of Allegra to the first customer. We took this historical photo.


Allegra name stuck with us, right until before the product shipment. Initially only as codename, we made it as the formal name, Jepret Allegra.

We kept doing improvement on the product and did lots of business activities around it afterward. But essentially, our main objective to start DycodeX has been achieved within months, so what next?

Embracing the Internet of Things

{to be continued, much more to tell, but I need to sleep. Come back later}