DEV Community

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 Halpern on August 15, 2020

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

Collapse
 
shadowphoenix profile image
Rose

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

Collapse
 
ben profile image
Ben Halpern

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.

Collapse
 
shadowphoenix profile image
Rose

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. ^^

Collapse
 
phantas0s profile image
Matthieu Cneude

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

Collapse
 
shadowphoenix profile image
Rose

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. ^^

Thread Thread
 
phantas0s profile image
Matthieu Cneude

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

Collapse
 
panphora profile image
David Miranda

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.

Collapse
 
daviddalbusco profile image
David Dal Busco

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

Collapse
 
panphora profile image
David Miranda

Thank you, I really appreciate it!

Collapse
 
wicked7000 profile image
Wicked • Edited

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)

Collapse
 
ben profile image
Ben Halpern

Cool!

Collapse
 
fennecdjay profile image
Jérémie Astor

Currently I've been building my own language

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

Collapse
 
wicked7000 profile image
Wicked • Edited

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!
Thread Thread
 
fennecdjay profile image
Jérémie Astor

OK. thank you.

Collapse
 
marlena profile image
Marlena Compton

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.

Collapse
 
liviufromendtest profile image
Liviu Lupei

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.

Collapse
 
elmuerte profile image
Michiel Hendriks

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.

Collapse
 
claudemuller profile image
LЦҜΞ FILΞЩДLҜΞЯ • Edited

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)

Collapse
 
jgaguiar16 profile image
Gerardo

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!

Collapse
 
stereoplegic profile image
Mike Bybee • Edited

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).

Collapse
 
heikokanzler profile image
Heiko Kanzler 🇪🇺 • Edited

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)

Collapse
 
sergeyt profile image
Sergey Todyshev • Edited

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.

Collapse
 
adam_cyclones profile image
Adam Crockett 🌀

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

didi

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?
Collapse
 
fennecdjay profile image
Jérémie Astor

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.

Collapse
 
phantas0s profile image
Matthieu Cneude • Edited

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 :)

Collapse
 
sandadev profile image
David Finson • Edited

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.

github.com/sanda-dev/apifi

Collapse
 
kendallm profile image
Kendall Morgan

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

Collapse
 
thormeier profile image
Pascal Thormeier

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.

Collapse
 
weedshaker profile image
weedshaker

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

Collapse
 
weedshaker profile image
weedshaker

oh plus making a game with JS: tarutarolegends.com/ 😂🤙

Collapse
 
rodrigoschio profile image
Rodrigo Schio

I did create a nice android game !

play.google.com/store/apps/details...