Cover image for What's the most interesting software development you've ever done?

What's the most interesting software development you've ever done?

ben profile image Ben Halpern ・1 min read

Whether employment or a personal project, what's the most interesting work you've done in this field?


markdown guide

An internal self-service cloud platform for a foreign government from the Middle East.
I even lived there for almost 2 years.
It included Infrastructure-as-a-service (IaaS) and platform-as-a-service (PaaS) options.
It was like building AWS EC2, including options to spin up a VM, Backups and Security Groups.
It was built by using OpenStack and other open source components.
Definitely one of the most complex projects I've worked on.
The reason why they wanted their own cloud solution instead of using an existing one was because they were a government and it was important to be in control of all the data.
I'm not sure AWS had an "on premises" version back then.


My most interesting is yet to come, does that count? ^^

Still keeping the dream alive with building my own operating system. And now that college is over, I'm hoping to spend some more free time on this project. :D


building my own operating system

This is a great one. I don't think I have the stomach/patience for the whole true OS part, but things like operating systems which can be developed against are incredibly exciting to me.


I hope that I can keep the patience to see through to the end! What excites me most about it are the different aspects that come together in one big project. File handling, keyboard handling, display stuff on a screen, there is soooooo much stuff to learn. ^^


Wow. That's a great project. Is it open source (and if yes, do you have it somewhere)? I'm curious :)


I do plan on making it open source, but I haven't written a single line of code yet. ^,^" There is still a whole lot that I need to learn before I'm confident enough to start. I first need to start learning C and Assembly, so it'll take while. ^^

Woop! Keep it up! Whatever happens, you'll learn a great deal along the way.


I'm building an open source framework for building web apps with HTML.

It's called Remake (remaketheweb.com/). It started out as a few small libraries in a side project.

It's challenging and interesting because I'm creating a new model for how to think about web apps, so I have to make it work well, but more importantly: learn how to explain it well. That's been the most difficult part so far and I'm still working on it.

What I have so far: Remake is a low-code framework that lets you convert a static website into a web app in minutes.


Beside your cool project, really clean and nice landing page! Well done David 👍


Thank you, I really appreciate it!


Currently I've been building my own language (not for usage just to learn stuff) and have found it so interesting. For example the idea of a 'bootstrapped compiler' is super interesting. It's a compiler that is compiled by another compiler that you've built. This way you could build a compiler in the language you want to make the compiler for once you've got a minimal version of it. (Here's a pretty cool video on the subject: youtu.be/lJf2i87jgFA along with this video that pretty much describes how we ended up/ got to modern compilers youtu.be/nQkW6sOvOz4)


Currently I've been building my own language

Can you provide a link, a didn't find it on your github.


This is the main programming language book that I've been following: github.com/prologic/monkey-lang

I've also been trying to emulate SimpleC course from this university which is more of a standard compiler backed by LLVM. Both of my projects are currently in a big private monorepo.

SimpleC university course: github.com/cop3402fall19/syllabus/
(There is also a set of lecture videos that are available on YouTube too)

  • I may make my own SimpleC compiler and monkey Lang interpreter open source at some point but they are bit tightly coupled to the other stuff in my monorepo atm!

I used to be obsessed with data visualization. At the time, there weren't a lot of easily available tools, just processing and a few different open source projects such as Many Eyes and, one of my faves, Parallel Sets.

My day job dealt with massive amounts of data and a large C++ codebase. At night, I was getting a graduate degree in Software Engineering. One of my time hacks was to do independent study and make up classes that could help with my work so I ended up doing a lot of code analysis with different data visualization tools.


I think, academically, combining prolog with graph transformation. My work has been acknowledge in a couple of papers. Most notably Knowledge-based Graph Exploration Analysis.
This was a really interesting thing. I embedded GNU Prolog for Java with Groove, which is an academic graph based verification tool. Besides extending Groove with Prolog, I also improved GNU Prolog for Java to pass the Prolog test suite.
So this made quite a few people happy. It's an interesting things because in general academic software is not made to work, just to prove a paper. I was employed to make working software supporting the PhD student's work.

I have a bunch of other interesting things since then, but I cannot boast about it as it's quite behind closed doors. I've always seen myself as a tool builder. I've always tried to create a tool shed for people to apply. At my previous job it took me quite some effort to introduce a new tool suite. It is quite complicated, but extremely powerful. My intention was to introduce a less complicated solution (read: syntactic sugar). I knew I was doing the right thing, even though upper management didn't see it. But eventually I received multiple accolades from colleagues about the tooling I provided for them.


When I was a younger dev I had the chance to build a Space Invaders clone in JavaScript for a big pharmaceutical co. where you're nasal spray shooting germs - there was snot :D. It was a lot of fun as it was different from my day-to-day web dev and I enjoy game dev.

A few years ago I worked at the biggest online gamin co. in the world and worked with a highly talented team where we built the largest (and I'm sure the most complex) online bingo game client in PixiJS and Angular (well I came on board during the rebuild/port to Angular 2).

Now I'm working for a co. who only employs polyglots - after learning Go for one project, I'm now learning Scala for another project for one of the biggest co. where we are assisting in building an interconnected big data pipeline to move, crunch and draw analytics from the massive amounts of data they move every second.

On a personal note, I still want to create my own language(s), build an advanced open world simulation/game of our reality (adding VR would be awesome!) and I've always wanted (and started) to build a virtually augmented system that one uses in their every day to store data in and manipulate a "pseudo second reality" by way of a pair of AR glasses or lenses (or brain implant? :)) - similar to Daniel Suarez's Daemon and Freedom (which only helped clarify the idea I've had for years)


Building my own ecommerce system, with api developed on my own, backoffice for admin your online store, of course, the online store and so more. The stack I used for this was a MERN stack, with MercadoPago (kinda like stripe for most latam) as the checkout handler, sendgrid for mailing, and hosted in Netlify and Heroku... I strongly recommend Netlify for the frontend, srsly, give it a try!


A "code or no-code" testing framework consisting of a web or desktop (Electron) frontend and an Electron app to run in CI (think Cypress on steroids before Cypress took off plus Puppeteer Recorder before Puppeteer existed - tests could be written in jQuery, vanilla ES5/ES2015-16, or completely built from a form and visual DOM element selection) for that NASA project I keep griping about for trying to kill astronauts. Every UI element interacted with was highlighted during the interaction, and step snapshots, video, logs, and PDF reports could be generated from every test.

Best part is I and the team I hijacked got it built and took the frontends from single-digit to almost 90% test coverage in just over a month (I worked with some really great devs).


My very very very first commercial development, back in 1984, for a small mail order company. On a PC with three printers (labels, invoices, delivery notes) connected (challenging, as we had only one serial and one parallel port), written in GW Basic.
For me, it was very special as I had written only games for home computers before.

Another exciting development was a prototype of a game system running inside / aside commercial slot machines in land based casinos. Very fascinating to work within a strict regulated environment.
The main game engine and back-end was written in Grails - as most of my work in the past 15 years. The customer faced mobile application (cross platform) was written in Codename One, a Java cross-compiler and there was a Flash (later portet to Unity) client for the slot machine itself (either running inside the main slot window or in a separated display build into the slot cabinet)


I was a major author of a cross-compiler from .NET code to Adobe Flash Player code. It literally translates code on binary level. It was recently open sourced by GrapeCity at github. You can read a story behind it.


Im passionate about EcmaScript Modules and the removal of bundles in a HTTP 2 world. So I created didi to convert Common JS modules to EcmaScript Modules. It's still a work in progress and I'm looking for contributors.

GitHub logo adam-cyclones / didi

Convert a project from common JS to ESmodules, with included bundler-like / task runner behaviour.

didi the dino is a pterodactyl logo


A transpiler for JavaScript and Typescript, transforming CommonJS modules into distinct ES Modules

Who uses didi?

Frontend and deno developers will find didi useful.

Try it out.

didi is not ready for production however you can still take didi for a spin!

npm install -g @didi-js/client-didi-cli

# or

yarn global add @didi-js/client-didi-cli

Create a project an entry file, some installed node_modules and then require the browser dependency into your entry file using the base specifier.

const colorThief = require('colorThief'); // base specifier example, no paths needed

run didi path/to/example-project

The result should have output a new target directory within this example-project and also a server should have started on http://localhost:8086. You may see some console errors in the browser, this is normal for this stage.

You may also notice that your import looks like this:

import colorThief from "color-thief"; // still no path?

I'm only a hobbyist dev, and I only build/hack things that suite my needs, but it's clearly
Gwion's type system, with all the templating/generics (I'm unsure of the difference, if any) for types and functions.


It's not really "software development", but it's related.

I'm trying to learn computer science topics at the moment, while doing 12891 other stuff. I'm going through the SICP right now (using the great courses from Brian Harvey from Berkeley) and I really like it.

Other than that, writing for my blog has been really... crazy interesting :)


My most interesting project so far is an open source graphql API auto generation framework I call apifi. I was doing backend development at a startup using java spring boot, and since each change to the API was requiring miles of boilerplate code (java..) I figured why not write an annotation parser which would generate the API for me? Fast forward a year and a bit and throw in some extra downtime (COVID) and it's pretty well fleshed out at this point. Currently I'm working on wrapping up testing and documentation and we'll see if it can actually go somewhere.



The most interesting things for me are things that I broke and later learned from. Pre and post-mortems are fun.


We once built an e-learning app for architecture students about real estate economics. There were around 75 different values to consider/calculate, with lots of dependencies and connections between them. Our job was to make these calculations as comprehensible as possible, while still being accurate.

I knew nothing about that topic and basically had to kindof do the course itself first. I ended up covering a 1.5-by-2 meter whiteboard with calculations and diagrams to really understand what was going on and kept it next to my desk for the entire project. I even played through one of the exams to see where I was still lacking the necessary understanding.

In the end, we implemented everything in Vue+Vuex (getters are amazing!) and calculated the test cases by hand together with the client, to see if everything was working as expected.

For me, the transformation of such complex domain knowledge into code was amazing. I loved the process of learning in this project.


Working with IPFS (the interplanetary file system), WebRTC plus Webtorrent making the peerweb.site/