Ask HN: What side projects landed you a job?

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • airsonos

    Discontinued :musical_note: AirPlay to Sonos

  • A long time ago sonos didn't support apple airplay.

    I did some protocol reversing and wrote a small program that pretended to be an airplay speaker to pipe audio to a sonos speaker (archive: https://github.com/stephen/airsonos)

    I ended up getting recruiting messages from both the airplay team at apple and some folks from sonos. I didn't end up taking either offer, but it was also an interesting talking point when interviewing for the job I did take.

  • slay

  • Maybe it didn't land me a job on its own but it helped in the interview process. I wrote a limited Slay the Spire rules engine[0]. If I could do it again I wouldn't choose PHP, but my current job had an interview round where I walked the hiring manager through something I've written and it did a great job of showcasing a variety of things like writing testable code, separating concerns, making an extensible framework in which to easily implement new cards, etc.

    In some ways the backend at my current job is slowly coming to resemble some of the patterns I used here, funnily enough.

    [0]: https://github.com/dgunay/slay

  • SurveyJS

    Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.

    SurveyJS logo
  • ruuter

    A system-agnostic, zero-dependency router

  • I created a system-agnostic, pure Clojure router[1] and Markdown parser[2] in Clojure that definitely helped me get Clojure gigs.

    [1]: https://github.com/askonomm/ruuter

    [2]: https://github.com/askonomm/clarktown

  • clarktown

    A zero-dependency Markdown parser.

  • I created a system-agnostic, pure Clojure router[1] and Markdown parser[2] in Clojure that definitely helped me get Clojure gigs.

    [1]: https://github.com/askonomm/ruuter

    [2]: https://github.com/askonomm/clarktown

  • bc

    An implementation of the POSIX bc calculator with GNU extensions and dc, moved away from GitHub. Finished, but well-maintained.

  • https://git.gavinhoward.com/gavin/bc

    It got me a C programming job that had nothing to do with the side project.

    I would say that it only helped me in the interview process, but it did so in two ways:

    * I could actually answer C-related questions on top of the more generic questions.

    * It showed that I had skill in C.

  • backgroundremover

    Background Remover lets you Remove Background from images and video using AI with a simple command line interface that is free and open source.

  • Not a job I took. But when I launched https://github.com/nadermx/backgroundremover I got offered a high level position in a a photo company via my email which at the time was on my GitHub profile.

  • learning-clojure-factorio-clone

    Learning Clojure by working on a incomplete Factorio clone.

  • It was my half hearted attempt at factorio with Clojure: https://github.com/pyrrhic/learning-clojure-factorio-clone

    It mostly just showed that I had a genuine interest in programming, and served as a talking point (why Clojure, my experience with it, etc). The project wasn't related to the job at all.

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • Kiba

    Data processing & ETL framework for Ruby

  • I started https://github.com/thbar/kiba#kiba-etl to scratch my own itch & be able to write properly structured ETL jobs in Ruby. It was a blank-slate rewrite of something larger (activewarehouse-etl) which I could not maintain anymore.

    This landed me not strictly a job, but long term consulting gigs with a number of companies in EU, UK & US.

    The job was directly related to the project: companies wanted the expertise of data engineering & ETL, often with Kiba directly, but also in general.

    This "side project" was totally worth it :-)

  • wintermoon

    Wintermoon Framework

  • 15 years ago I wrote a game engine[1], and on my first interview of my life I presented the code and got the offer!

    1 - https://github.com/skhaz/wintermoon

  • site

    The new frontend/backend code for https://xeiaso.net

  • My blog https://xeiaso.net (source code: https://github.com/Xe/site) and the stuff I've written for it ended up doing several things to help me get employed over the years:

    1. Letting me have a place to write to get better at writing, which makes it easier to do my in DevRel.

    2. Lets me talk about all of the interesting projects I work on (eg: an AI novel writing experiment https://xeiaso.net/videos/2023/ai-hackathon/) that people regularly find interesting. This gets people interested in wanting to employ me, which ends up working up well for me in the long run.

    Do side projects, but write about what you did and what you learned.

  • serenity

    The Serenity Operating System 🐞

  • My contributions to SerenityOS[0] helped me get my current job. My team lead (who was also my interviewer) was interested in what I did since I listed some of it in my CV, and I showed him some PRs I made and explained what went into each of them. It was really exciting because I didn't have professional experience with low-level development, and basically got the job due to hobby programming.

    [0]: https://github.com/SerenityOS/serenity/pulls?q=is%3Apr+autho...

  • creaftOS

    Discontinued A Node.js Minecraft Server Wrapper With Vue.js Interface

  • I have only worked for two companies so far. I got both jobs through my side projects. The first job was my apprenticeship. The second was with a Swiss sensor developer.

    [0] The first was a Minecraft server software with a web interface similar to an operating system. Players could log in, upload items, xp and trade etc.

    [1] The second was a note-taking app similar to Obsidian, but completely real-time, based on a CRDT (yjs)

    [0] https://github.com/iojanis/creaftOS

  • govuk-form-builder

    A form builder for Ruby on Rails that’s compatible with the GOV.UK Design System.

  • I build and maintain some libraries that are used by teams working on GOV.UK projects in Rails. Have been inundated with offers since their release, and they've gone on to be used in some fairly high profile things.

    https://github.com/x-govuk/govuk-form-builder

  • govuk-components

    Lightweight Ruby on Rails components for developing with the GOV.UK Design System.

  • nodetunes

    AirTunes v2 Server implementation

  • The meat for the airplay side is here: https://github.com/stephen/nodetunes

    Please excuse the code quality... I think I was still learning how to write js at the time.

  • Pion WebRTC

    Pure Go implementation of the WebRTC API

  • I have worked four jobs related to https://github.com/pion/webrtc and one for https://webrtcforthecurious.com

    Two companies used Pion. The other two were just using the protocol (WebRTC)

  • webrtc-for-the-curious

    WebRTC for the Curious: Go beyond the APIs

  • I have worked four jobs related to https://github.com/pion/webrtc and one for https://webrtcforthecurious.com

    Two companies used Pion. The other two were just using the protocol (WebRTC)

  • ipad-target.py

    Checks Target.com for iPad inventory

  • Way back when the Nintendo Wii was brand new and hard to find, I wrote a script to scrape Target.com for store inventory and notify me if a nearby store restocked. A few years after that I revamped it to check on inventory for newly released iPad models. I put the code up on GitHub [1] and the CTO for a company that had large-scale store inventory checking as part of their product emailed me out of the blue after seeing my repository. A little while later, I replied back, interviewed and got a pretty good job offer out of it. I wound up not taking the offer, but in hindsight I probably should have.

    [1] https://github.com/polpo/ipad-target.py

  • equinox

    Elegant easy-to-use neural networks + scientific computing in JAX. https://docs.kidger.site/equinox/

  • I wrote a JAX-based neural network library (Equinox [1]) and numerical differential equation solving library (Diffrax [2]).

    At the time I was just exploring some new research ideas in numerics -- and frankly, procrastinating from writing up my PhD thesis!

    But then one of the teams at Google starting using them, so they offered me a job to keep developing them for their needs. Plus I'd get to work in biotech, which was a big interest of mine. This was a clear dream job offer, so I accepted.

    Since then both have grown steadily in popularity (~2.6k GitHub stars) and now see pretty widespread use! I've since started writing several other JAX libraries and we now have a bit of an ecosystem going.

    [1] https://github.com/patrick-kidger/equinox

  • diffrax

    Numerical differential equation solvers in JAX. Autodifferentiable and GPU-capable. https://docs.kidger.site/diffrax/

  • pyp2p

  • Very good question. I don't have a degree so the way that I use to demonstrate my skills is all due to public projects. I'll show you the main projects that really landed me my first tech jobs. Granted, they weren't very good and have many engineering problems. I was still learning at the time but here they are:

    1. https://github.com/robertsdotpm/pyp2p - This was an attempt to make a peer-to-peer networking library in Python. Don't use it or anything as it's horrible code. But it was enough to get me a job at a startup called Storj. I messaged the team and was able to talk about specific about the challenges of peer-to-peer networking which were relevant to the product they were building.

    2. https://github.com/robertsdotpm/coinbend - This was my attempt to build a decentralized cryptocurrency exchange whereby all trades were done without the need for an intermediary to hold deposits using smart contracts. This was actually one of the first 'decentralized exchanges' made at a time when the only coins that existed were forks of Bitcoin. It was impressive enough to land me a job at Exodus which is still the most incredible company in the blockchain space.

    ((If anyone's wondering: I lost both jobs due to severe untreated depression. Lmaoo... But I'm on meds now.)) But yeah, companies absolutely will hire people without degrees and based on the quality of the projects you've worked on. I know that many people say that working on side projects doesn't matter. But you need to actually talk about your projects and reach out to people for it to matter. If you just apply through HR they'll just go through a generic list of things to check off while they look at your resume.

    By the way OP: I've always found that taking the effect to actually understand the problems that companies are trying to solve and outlining how existing work that you've done qualifies you to provide a solution is the fastest way to get a job. But again -- you need to reach the people who know what you mean. Shout out to Storj and Exodus -- both great companies that I would recommend.

  • coinbend

    Prototype peer-to-peer coin swaps with micro-payment channels.

  • Very good question. I don't have a degree so the way that I use to demonstrate my skills is all due to public projects. I'll show you the main projects that really landed me my first tech jobs. Granted, they weren't very good and have many engineering problems. I was still learning at the time but here they are:

    1. https://github.com/robertsdotpm/pyp2p - This was an attempt to make a peer-to-peer networking library in Python. Don't use it or anything as it's horrible code. But it was enough to get me a job at a startup called Storj. I messaged the team and was able to talk about specific about the challenges of peer-to-peer networking which were relevant to the product they were building.

    2. https://github.com/robertsdotpm/coinbend - This was my attempt to build a decentralized cryptocurrency exchange whereby all trades were done without the need for an intermediary to hold deposits using smart contracts. This was actually one of the first 'decentralized exchanges' made at a time when the only coins that existed were forks of Bitcoin. It was impressive enough to land me a job at Exodus which is still the most incredible company in the blockchain space.

    ((If anyone's wondering: I lost both jobs due to severe untreated depression. Lmaoo... But I'm on meds now.)) But yeah, companies absolutely will hire people without degrees and based on the quality of the projects you've worked on. I know that many people say that working on side projects doesn't matter. But you need to actually talk about your projects and reach out to people for it to matter. If you just apply through HR they'll just go through a generic list of things to check off while they look at your resume.

    By the way OP: I've always found that taking the effect to actually understand the problems that companies are trying to solve and outlining how existing work that you've done qualifies you to provide a solution is the fastest way to get a job. But again -- you need to reach the people who know what you mean. Shout out to Storj and Exodus -- both great companies that I would recommend.

  • stepmania

    Advanced rhythm game for Windows, Linux and OS X. Designed for both home and arcade use.

  • obsidian-minimal

    A distraction-free and highly customizable theme for Obsidian.

  • I made a theme for Obsidian linked below. As a result I got to know the founders, and helped design the 1.0 version of the app. This eventually led me to join the company as CEO. I had previously founded and run two startups, so that helped too.

    https://github.com/kepano/obsidian-minimal

  • encounter

    Remaking the classic C64 game in WebGL.

  • I'm working at Meta to this day!

    Check it out at https://github.com/air/encounter

  • Picnic CSS

    :handbag: A beautiful CSS library to kickstart your projects

  • This was about 10 years ago, where there was Bootstrap, Pure CSS and little more, so I published:

    https://picnicss.com/

    It went to the front page of Hacker News (https://news.ycombinator.com/item?id=8315616). At the time I was a student in Spain doing coding just for fun, so any job-related opportunity would be slim and with really bad pay (I had actually already worked a bit as a dev for a pittance).

    Someone contacted me and offered some really fun freelancing projects for what at the time seemed like an absurdly ridiculous large amount of money, so much that I got a great designer friend involved and split the money so the project would be even better.

    I learned many things from that and as my curiosity pumped me to keep learning. I read about cases of people making 500k+/year as "normal" devs (meaning, not managers, and also not famous). Most of my Spanish peers didn't even believe that existed at the time, and thought I was crazy believing those "obviously fake" blog posts. But I've been working for USA companies basically since then, and couldn't be happier/wouldn't look back.

  • touchHLE

    High-level emulator for iPhone OS apps. This repo is used for issues, releases and CI. Submit patches at: https://review.gerrithub.io/admin/repos/touchHLE/touchHLE

  • If you still have the IPA file for it, you should look into seeing if it runs on touchHLE [1], an emulator for early versions of iOS. They also have an app archive if you'd like to give permission for them to preserve the game.

    [1]: https://touchhle.org/

    [2]: https://touchhle.org/app-archive/

  • cofree-bot

    A library for building bots compositionally.

  • Not a job per se, but some friends and I wrote a library for building compositional chatbots (like for IRC not LLMs necessarily) encoded as Mealy Machines: https://github.com/cofree-coffee/cofree-bot/

    That project then has since led to a long term collaboration with the Topos Institute where we are building type theory for Polynomial Functors: https://github.com/toposInstitute/polytt

    Polynomial Functors are a really powerful abstraction from Category Theory which subsumes the co-algebraic approach to finite state machines used in `cofree-bot` and which can also be used to encode wiring diagrams, tactics engines, game semantics, neural networks, and dynamical systems in general.

  • polytt

    A type theory with native support for Polynomial Functors.

  • Not a job per se, but some friends and I wrote a library for building compositional chatbots (like for IRC not LLMs necessarily) encoded as Mealy Machines: https://github.com/cofree-coffee/cofree-bot/

    That project then has since led to a long term collaboration with the Topos Institute where we are building type theory for Polynomial Functors: https://github.com/toposInstitute/polytt

    Polynomial Functors are a really powerful abstraction from Category Theory which subsumes the co-algebraic approach to finite state machines used in `cofree-bot` and which can also be used to encode wiring diagrams, tactics engines, game semantics, neural networks, and dynamical systems in general.

  • logtrail

    Kibana plugin to view, search & live tail log events

  • I wrote a Kibana plugin - https://github.com/sivasamyk/logtrail and few graylog plugins which opened many doors for me. It also helped me land my last job at The Sematext. I lost interest in maintaining the plugin after Elastic's open-source license changes.

  • forming-typeform

    A pretty cool typeform clone with all the animations that typeform supports. You can check the code, and use it.

  • I built a Typeform clone, using Vanilla CSS and NextJS, in its GitHub repo, I also added PR GitHub actions check for eslint and prettier, and also added pre-commit checks. I also got 29 stars and 6 forks on that repo - https://github.com/hsnice16/forming-typeform/tree/main

    Another project that I built was a component library using HTML and CSS, so I built this to learn HTML and CSS in a better way. Its repo also has 6 forks and 7 stars - https://github.com/hsnice16/PoshUI-Documentation

  • PoshUI-Documentation

    Posh UI is a continuously developing Component Library, built using HTML5 and CSS3 only.

  • I built a Typeform clone, using Vanilla CSS and NextJS, in its GitHub repo, I also added PR GitHub actions check for eslint and prettier, and also added pre-commit checks. I also got 29 stars and 6 forks on that repo - https://github.com/hsnice16/forming-typeform/tree/main

    Another project that I built was a component library using HTML and CSS, so I built this to learn HTML and CSS in a better way. Its repo also has 6 forks and 7 stars - https://github.com/hsnice16/PoshUI-Documentation

  • BrowserBox

    🌀 Browse the web from a browser you run on a server, rather than on your local device. Lightweight virtual browser. For security, privacy and more! By https://github.com/dosyago

  • BrowserBox landed me a couple of contracts related to web scraping, RPA, process integration and dashboards, but there were quite a few more whose contracts I had to refuse because they came with "grabby" IP clauses, like: "we will own everything you work on while engaged with us, including any related work", which completely disrespected and abused the IP protections I sought to create by putting my open-source work: 1) out there in the open, 2) under the protection of a C corporation, and 3) with both AGPL and commercial licenses available.

    At first I couldn't believe this would be a thing done by US companies (I thought maybe people in other parts of the world would have tried this, but no), but ultimately I had to face the unpalatable reality that indeed they were trying to unethically trick me into surrendering my IP by using grabby IP clauses.

    When I pushed back and went through multiple rounds of contract clause negotiation, their grabby language only got more extreme in iteration (to a ridiculous degree), essentially a legal "fuck you" to standing up for myself and my rights.

    Essentially a ploy to try to use an employment contract to own all my OSS work, and when I brought up ways to clarify and mutually protect IP on both sides from any such contamination, they resisted, and ultimately refused. SMH disgusting experience.

    I think the most offensive thing about this was that they thought I was such a rube that I could be tricked by that, and also that it demonstrated they would try this with others. I hate the idea that little OSS developers out there were seen as inexperienced rubes to be taken advantage of. It's so hurtful. What about all the other folks out there who weren't canny enough to protect themselves, or even read through the contracts?

    For reference this is not just "default clauses". I've signed many contracts that had zero grabby "own everything related" IP clauses at all, in multiple US jurisdictions. This is entirely an optional thing and does not need to be included, especially not in the circumstances I was in. The resistance in the face of subsequent negotiations, only strongly supports the idea that this is a deliberate ploy. Please respect that I'm not going to name and shame specifics tho, I think there's other more apt responses. Consider this experience a warning enough to be careful with how you protect your IP in your own dealings, no matter who you deal with.

    Sometimes the public face a company presents is so different to how they conduct themselves. Disgusting.

    https://github.com/BrowserBox/BrowserBox

  • komorebi

    A tiling window manager for Windows 🍉

  • It's very heartening to see all of the stories here.

    I've put the last few years of my life into working on komorebi, a tiling window manager for Windows[1], https://notado.app, a content-first social bookmarking service, and https://kulli.sh, a "bring your own links" comment aggregator which shows you comments from hn, reddit, lobsters, lemmy etc. on an article all in one place.

    Unfortunately I was laid off after 5 years with the same company last month, and nobody seems to care about any of these projects when it comes to recruiting. There are people who use them that have reached out to me very kindly offering to make referrals, but the job market values LeetCode more than shipping real code these days.

    [1]: https://github.com/LGUG2Z/komorebi

  • albumentations

    Fast image augmentation library and an easy-to-use wrapper around other libraries. Documentation: https://albumentations.ai/docs/ Paper about the library: https://www.mdpi.com/2078-2489/11/2/125

  • One of the members of the core team of our open-source library https://albumentations.ai/

    It was not the only reason he was hired; it was a solid addition to his already good performance at the interviews.

    Or at least that is what the hiring manager later said.

  • scikit-clean

    A collection of algorithms for detecting and handling label noise

  • Among all these feel-good stories, how about one with a bit different ending?

    During my masters, I created a ML library that dealt with noise in dataset. I implemented bunch of papers, but unlike your usual research code, I spent a long time obsessing about it's API, performance, created documentation, CI- the whole shebang [1]. But then, like avg research code, I moved on and promptly forgot about it.

    One day about a year ago the cofounder of a very new, small startup working on something similar texted me about the project on linkedin. We chatted for a bit, but as a guy who thinks he's too cool for linkedin, I next logged in and saw his last message about wanting to collaborate about 3/4 months after the fact.

    Well they raised $25 million dollars a few months ago :(

    [1] https://github.com/Shihab-Shahriar/scikit-clean

  • pakhi-bhasha

    Dynamically typed bangla programming language written in rust

  • relm

    An open source, browser-based 3D spatial platform for meeting, playing, and working. (by relm-us)

  • I built a spatial platform similar to gather.town called relm.us in 2021 (now MIT-licensed open source [1]) and was hired by an edtech company in 2023 because of the expertise I'd gained in overlaying audio/video for participants in the game world.

    [1] https://github.com/relm-us/relm

  • sirious

    Discontinued Tampering Siri Proxy

  • I’m not sure if it counts as a side-project, as it was just something I hacked together mostly out of curiosity. I’m also not sure if qualifies as “landing me a job”, but it was explicitly asked about during the interview process and they were certainly interested, so…

    My Siri proxy during the first iteration of Siri, which would intercept requests and inject custom responses. The code is fairly horrible by my current standards, but reverse engineering everything was fun.

    https://github.com/wrboyce/sirious

  • fontsource

    Self-host Open Source fonts in neatly bundled NPM packages.

  • A few years ago, while I was still in high school, I began learning how to create websites purely for fun. One thing I found to be tedious was self-hosting fonts, with existing solutions to improve it completely abandoned. Consequently, I decided to learn a bit more about JavaScript by rewriting and improving these abandoned projects which led to the creation of Fontsource[0].

    This project has undoubtedly set of a series of impactful events in my life, and I attribute many of my successes to it. I've had opportunities to network with numerous amazing engineers through it, leading to a part-time role and multiple internships. Companies that approached me for support also wanted to keep in touch! I also graduate this year and I am going with a full-time role from one of the aforementioned internships.

    While I acknowledge my circumstances are extremely fortunate, I genuinely believe that having open source projects early on in your career can significantly contribute to standing out as a developer.

    [0] https://fontsource.org

  • mini_racer

    Minimal embedded v8

  • Some years ago I was on a shitty job - not technically, but the company turned out to be inhumane - at a Ruby shop, and on the side I was toying with mini_racer and I just upgraded to some macOS beta where it failed to build. A shitty +1-1 hack† for a compiler flag later and it was back flying.

    A month later I received a cold email from a CTO to chat a bit about that PR, turns out they were using mini_racer heavily and forked it for their own purpose, and also created PyMiniRacer for the Python side of things. Next thing I know I got hired. Two years later the company got acquired.

    Of course conditionally adding a compiler flag wasn't what got me hired per se, it only got my profile noticed. Probably side projects such as porting go by example to Ruby by implementing a ~1:1 CSP channel API[1], an Electron desktop client for Mattermost basically on a dare[2], ex mode for the Atom editor so that I could have that frackin' `:w`[3], leveraging Blocks to bolt on object-oriented-ness onto C because "closures are a poor man's object"[4], or reverse-engineering the Xbox One USB gamepad and writing a kext to turn it into a HID device on macOS from scratch on a lonely 7+h train ride with passengers judgementally staring at me sideways[4] probably contributed to it a bit.

    My takeaway: luck is when preparation meets opportunity; but don't to side projects to get hired, because if you don't get hired then that time is lost. Rather, of all things, scratch your itch, have fun, embrace whatever quirkiness you fancy; no one can take that away from you.

    [0]: https://github.com/rubyjs/mini_racer/commit/2086db1bbf2b5de4...

    [1]: https://github.com/lloeki/normandy

    [2]: https://github.com/lloeki/matterfront

    [3]: https://github.com/lloeki/ex-mode

    [4]: https://github.com/lloeki/cblocks-clobj/blob/master/main.c

    [5]: https://github.com/lloeki/xbox_one_controller

  • normandy

    Channels for CSP style Ruby

  • Some years ago I was on a shitty job - not technically, but the company turned out to be inhumane - at a Ruby shop, and on the side I was toying with mini_racer and I just upgraded to some macOS beta where it failed to build. A shitty +1-1 hack† for a compiler flag later and it was back flying.

    A month later I received a cold email from a CTO to chat a bit about that PR, turns out they were using mini_racer heavily and forked it for their own purpose, and also created PyMiniRacer for the Python side of things. Next thing I know I got hired. Two years later the company got acquired.

    Of course conditionally adding a compiler flag wasn't what got me hired per se, it only got my profile noticed. Probably side projects such as porting go by example to Ruby by implementing a ~1:1 CSP channel API[1], an Electron desktop client for Mattermost basically on a dare[2], ex mode for the Atom editor so that I could have that frackin' `:w`[3], leveraging Blocks to bolt on object-oriented-ness onto C because "closures are a poor man's object"[4], or reverse-engineering the Xbox One USB gamepad and writing a kext to turn it into a HID device on macOS from scratch on a lonely 7+h train ride with passengers judgementally staring at me sideways[4] probably contributed to it a bit.

    My takeaway: luck is when preparation meets opportunity; but don't to side projects to get hired, because if you don't get hired then that time is lost. Rather, of all things, scratch your itch, have fun, embrace whatever quirkiness you fancy; no one can take that away from you.

    [0]: https://github.com/rubyjs/mini_racer/commit/2086db1bbf2b5de4...

    [1]: https://github.com/lloeki/normandy

    [2]: https://github.com/lloeki/matterfront

    [3]: https://github.com/lloeki/ex-mode

    [4]: https://github.com/lloeki/cblocks-clobj/blob/master/main.c

    [5]: https://github.com/lloeki/xbox_one_controller

  • matterfront

    Discontinued Mattermost frontend app for OS X, Windows and Linux

  • Some years ago I was on a shitty job - not technically, but the company turned out to be inhumane - at a Ruby shop, and on the side I was toying with mini_racer and I just upgraded to some macOS beta where it failed to build. A shitty +1-1 hack† for a compiler flag later and it was back flying.

    A month later I received a cold email from a CTO to chat a bit about that PR, turns out they were using mini_racer heavily and forked it for their own purpose, and also created PyMiniRacer for the Python side of things. Next thing I know I got hired. Two years later the company got acquired.

    Of course conditionally adding a compiler flag wasn't what got me hired per se, it only got my profile noticed. Probably side projects such as porting go by example to Ruby by implementing a ~1:1 CSP channel API[1], an Electron desktop client for Mattermost basically on a dare[2], ex mode for the Atom editor so that I could have that frackin' `:w`[3], leveraging Blocks to bolt on object-oriented-ness onto C because "closures are a poor man's object"[4], or reverse-engineering the Xbox One USB gamepad and writing a kext to turn it into a HID device on macOS from scratch on a lonely 7+h train ride with passengers judgementally staring at me sideways[4] probably contributed to it a bit.

    My takeaway: luck is when preparation meets opportunity; but don't to side projects to get hired, because if you don't get hired then that time is lost. Rather, of all things, scratch your itch, have fun, embrace whatever quirkiness you fancy; no one can take that away from you.

    [0]: https://github.com/rubyjs/mini_racer/commit/2086db1bbf2b5de4...

    [1]: https://github.com/lloeki/normandy

    [2]: https://github.com/lloeki/matterfront

    [3]: https://github.com/lloeki/ex-mode

    [4]: https://github.com/lloeki/cblocks-clobj/blob/master/main.c

    [5]: https://github.com/lloeki/xbox_one_controller

  • ex-mode

    Ex mode for Atom

  • Some years ago I was on a shitty job - not technically, but the company turned out to be inhumane - at a Ruby shop, and on the side I was toying with mini_racer and I just upgraded to some macOS beta where it failed to build. A shitty +1-1 hack† for a compiler flag later and it was back flying.

    A month later I received a cold email from a CTO to chat a bit about that PR, turns out they were using mini_racer heavily and forked it for their own purpose, and also created PyMiniRacer for the Python side of things. Next thing I know I got hired. Two years later the company got acquired.

    Of course conditionally adding a compiler flag wasn't what got me hired per se, it only got my profile noticed. Probably side projects such as porting go by example to Ruby by implementing a ~1:1 CSP channel API[1], an Electron desktop client for Mattermost basically on a dare[2], ex mode for the Atom editor so that I could have that frackin' `:w`[3], leveraging Blocks to bolt on object-oriented-ness onto C because "closures are a poor man's object"[4], or reverse-engineering the Xbox One USB gamepad and writing a kext to turn it into a HID device on macOS from scratch on a lonely 7+h train ride with passengers judgementally staring at me sideways[4] probably contributed to it a bit.

    My takeaway: luck is when preparation meets opportunity; but don't to side projects to get hired, because if you don't get hired then that time is lost. Rather, of all things, scratch your itch, have fun, embrace whatever quirkiness you fancy; no one can take that away from you.

    [0]: https://github.com/rubyjs/mini_racer/commit/2086db1bbf2b5de4...

    [1]: https://github.com/lloeki/normandy

    [2]: https://github.com/lloeki/matterfront

    [3]: https://github.com/lloeki/ex-mode

    [4]: https://github.com/lloeki/cblocks-clobj/blob/master/main.c

    [5]: https://github.com/lloeki/xbox_one_controller

  • cblocks-clobj

    Fooling around with Blocks in C to create pseudo-classes and -instances

  • Some years ago I was on a shitty job - not technically, but the company turned out to be inhumane - at a Ruby shop, and on the side I was toying with mini_racer and I just upgraded to some macOS beta where it failed to build. A shitty +1-1 hack† for a compiler flag later and it was back flying.

    A month later I received a cold email from a CTO to chat a bit about that PR, turns out they were using mini_racer heavily and forked it for their own purpose, and also created PyMiniRacer for the Python side of things. Next thing I know I got hired. Two years later the company got acquired.

    Of course conditionally adding a compiler flag wasn't what got me hired per se, it only got my profile noticed. Probably side projects such as porting go by example to Ruby by implementing a ~1:1 CSP channel API[1], an Electron desktop client for Mattermost basically on a dare[2], ex mode for the Atom editor so that I could have that frackin' `:w`[3], leveraging Blocks to bolt on object-oriented-ness onto C because "closures are a poor man's object"[4], or reverse-engineering the Xbox One USB gamepad and writing a kext to turn it into a HID device on macOS from scratch on a lonely 7+h train ride with passengers judgementally staring at me sideways[4] probably contributed to it a bit.

    My takeaway: luck is when preparation meets opportunity; but don't to side projects to get hired, because if you don't get hired then that time is lost. Rather, of all things, scratch your itch, have fun, embrace whatever quirkiness you fancy; no one can take that away from you.

    [0]: https://github.com/rubyjs/mini_racer/commit/2086db1bbf2b5de4...

    [1]: https://github.com/lloeki/normandy

    [2]: https://github.com/lloeki/matterfront

    [3]: https://github.com/lloeki/ex-mode

    [4]: https://github.com/lloeki/cblocks-clobj/blob/master/main.c

    [5]: https://github.com/lloeki/xbox_one_controller

  • xbox_one_controller

    Discontinued HID-compliant Xbox One Controller driver for OS X

  • Some years ago I was on a shitty job - not technically, but the company turned out to be inhumane - at a Ruby shop, and on the side I was toying with mini_racer and I just upgraded to some macOS beta where it failed to build. A shitty +1-1 hack† for a compiler flag later and it was back flying.

    A month later I received a cold email from a CTO to chat a bit about that PR, turns out they were using mini_racer heavily and forked it for their own purpose, and also created PyMiniRacer for the Python side of things. Next thing I know I got hired. Two years later the company got acquired.

    Of course conditionally adding a compiler flag wasn't what got me hired per se, it only got my profile noticed. Probably side projects such as porting go by example to Ruby by implementing a ~1:1 CSP channel API[1], an Electron desktop client for Mattermost basically on a dare[2], ex mode for the Atom editor so that I could have that frackin' `:w`[3], leveraging Blocks to bolt on object-oriented-ness onto C because "closures are a poor man's object"[4], or reverse-engineering the Xbox One USB gamepad and writing a kext to turn it into a HID device on macOS from scratch on a lonely 7+h train ride with passengers judgementally staring at me sideways[4] probably contributed to it a bit.

    My takeaway: luck is when preparation meets opportunity; but don't to side projects to get hired, because if you don't get hired then that time is lost. Rather, of all things, scratch your itch, have fun, embrace whatever quirkiness you fancy; no one can take that away from you.

    [0]: https://github.com/rubyjs/mini_racer/commit/2086db1bbf2b5de4...

    [1]: https://github.com/lloeki/normandy

    [2]: https://github.com/lloeki/matterfront

    [3]: https://github.com/lloeki/ex-mode

    [4]: https://github.com/lloeki/cblocks-clobj/blob/master/main.c

    [5]: https://github.com/lloeki/xbox_one_controller

  • quadcopter

    quadcopter control code

  • Got my first internship building drone navigation systems after building my own quadcopter flight control board (software included) (https://github.com/alextousss/quadcopter)

    By the way, looking for a second one March-September 2024 :)

  • terraform-provider-transip

    Terraform provider to manage Transip resources

  • I had been working on a Terraform provider[0] for a local hosting company in the weekends. Mostly to scratch my own itch in that I wanted my personal VPS and DNS to be IaC and get some practice in Go and Terraform. It got a little traction with some people using it and I won some nice prices for best project in the competition the hosting company put out after upgrading their API to REST. After the competition I was also able to get an account with no billing for testing purposes, which made developing and integration testing a whole lot easier. Before that I could only test on resources I paid for myself or ask them nicely to refund if I made a mistake as they don't do per minute/hourly billing like other providers.

    The project was eventually discovered by my (now former) employer who needed the same provider but did some searching before writing his own and discovered my project on Github. It landed me a job interview and eventually a job. I don't think my project was the sole reason I got the job, but was more likely telling them I was operating in the niche they were looking for. Something that probably didn't stand out as much in my LinkedIn profile to be noticed there. Or I hadn't told it to enough people as there was some shared working history with others in the company. Enough to let them know they should hire me, but not enough to tell them I was someone they were looking for.

    One of the contributors to the project also ended up at that company, I was asked about him during his interview and could give nothing but praise because I had been working with him on my project.

    My 2ct is that whatever you do, make, patch, write, think up of, just put it out there. Even if it is not finished, create a repo and publish it, write a blog post, post it on a social. You never know who is searching for what and will find you that way. Your project , contribution or code snippet doesn't have to become a (commercial) success, if it just helps people or connects you in a way to someone new w're all better for it.

    [0] https://github.com/aequitas/terraform-provider-transip

  • mako

    Furansu bot (by zer0tonin)

  • My blog (https://alicegg.tech/) as well as the small discord bots I used to do in my spare time (https://github.com/zer0tonin/mako) helped me land a gig working at MEE6. During the interview, the founders clearly said that my CV was unimpressive, but my blog showed without a doubt I was really able to code.

    It was a fairly decent job, I helped the company scale from 5m to 15m communities and gave my software and infra skills a huge boost. I think without this experience, I wouldn't have the confidence to start working on software by myself as I do now.

  • mock-node

    A configurable mock server with an intuitive configuration management interface and a http api

  • I made a small configurable reverse proxy back in 2016 - https://github.com/ianunay/mock-node in an attempt to build my portfolio and to attract recruiters / interviewers. Sure enough in one of the system design interviews the interviewer simply did a architecture / code review of this project and was impressed by it. I like to think that this contributed a lot to the company making an offer. I ended up accepting the offer and my life changed a lot since as I had to move to a different country.

  • Blazorise

    Blazorise is a component library built on top of Blazor with support for CSS frameworks like Bootstrap, Tailwind, Bulma, AntDesign, and Material.

  • I made a Blazor component library for one of my personal projects that failed, but the component library lived on as an open-source project called Blazorise [1].

    In late 2019, I got a well-paid job in a large local company because of the project reference. Unfortunately, COVID happened, and I lost that same job after a few months. So again, because of Blazorise, I got several other gigs as a freelancer.

    But after a while, it was hard to do all the work on the projects and do freelance jobs at the same time. Not to mention that family time was also very limited.

    So I decided to commercially license Blazorise to companies, and keep it free for individuals. Hopefully, the decision paid off. Today I run a small company and continue to work on Blazorise full time. We're still fully bootstraped without any external funds.

    [1] https://blazorise.com/

  • edgedns

    A high performance DNS cache designed for Content Delivery Networks

  • frugally-deep

    Header-only library for using Keras (TensorFlow) models in C++.

  • The interview for my current job first went mediocre, but by talking about frugally-deep (a side project of mine) I was able to excite my (now) employer. :-)

    https://github.com/Dobiasd/frugally-deep

  • enferno

    This collection of modern libraries and tools, built on top of the Flask framework, allows you to quickly create any website or web-based application (SAAS) with impressive speed.

  • Enferno Framework: https://github.com/level09/enferno

    a little flask based SAAS starter kit.

    Got multiple work contracts some little publicity :)

  • obsidian-daily-cron

    a simple cron script to automatically upload daily changes to an obsidian directory

  • Same, I've been using this cron script for that: https://github.com/allen-munsch/obsidian-daily-cron/tree/mai...

  • skyrack

    Skyrack disassemble binaries in order to list instruction gadgets. Those gadgets are saved in a database, allowing fast gadget lookup.

  • And this guy became Sqreen CEO and my (incredibly awesome) cofounder.

    [0] https://github.com/aviat/skyrack

  • Blackbox

    Nintendo Entertainment System (NES) emulator for Apple platforms (by glhaynes)

  • I got tired of my job that involved 95% meetings and 5% coding so I quit in August 2022 and decided to figure out what's next. But, since I'd spent a few years not doing as much coding as I'd have liked, I felt rusty. I probably could've gotten a decent job if I'd tried (I have lots of years of experience) but I didn't have confidence and had lost the joy of it.

    So, while I tried to figure out what to do, I worked on my hobby NES emulator for Apple platforms, Blackbox[1]. It's written in Swift and uses SwiftUI.

    When a potential contracting role (100% SwiftUI) dropped in my lap, I had the confidence and skills to go for it. It's been great (my meeting-to-coding ratio has inverted!) and they're wanting me to extend my contract for another 12 months. I know the project helped make them feel confidence in my capabilities, but I think it's possible that I'd have gotten the gig in the first place. But, I would've struggled, and I probably wouldn't have even gone for it in the first place because I'd have known that I'd have struggled.

    [1] https://github.com/glhaynes/Blackbox

  • goby

    Goby - Yet another programming language written in Go

  • In 2017, I wrote a toy language called Goby[1] to learn how Ruby works. A few folks contributed quite a bit to it and one of them later referred me to my previous job (as a backend developer).

    Fast-forward to 2021, I got interested in debugging tools so I started contributing to the then newly created Ruby debugger[2]. In less than a year I opened more than a hundred PRs and became the 2nd biggest contributor of it. And that eventually landed me a job to work on Ruby's development tools, like LSP servers, REPLs, and of course, the debugger :-)

    [1] https://github.com/goby-lang/goby

    [2] https://github.com/ruby/debug

  • debug

    Debugging functionality for Ruby (by ruby)

  • In 2017, I wrote a toy language called Goby[1] to learn how Ruby works. A few folks contributed quite a bit to it and one of them later referred me to my previous job (as a backend developer).

    Fast-forward to 2021, I got interested in debugging tools so I started contributing to the then newly created Ruby debugger[2]. In less than a year I opened more than a hundred PRs and became the 2nd biggest contributor of it. And that eventually landed me a job to work on Ruby's development tools, like LSP servers, REPLs, and of course, the debugger :-)

    [1] https://github.com/goby-lang/goby

    [2] https://github.com/ruby/debug

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts