Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: What weekend projects have you created?
52 points by github-cat on Sept 23, 2017 | hide | past | web | favorite | 71 comments
As programmers, you may have spent plenty of time on learning different skills or technologies. To practice them, you may have created some weekend projects which would not take your too long while implementing something you find interesting. So what's yours? What technology have you used?

My wife & I are crowdsourcing memorial benches across the world


Only been working on it for a few weekends, already have 2,300 listed on there. Would be great to get some more from the USA & Canada though. So if you spot any, please take a photo and upload :-)

All the code is open source and the photos are CC-BY-SA.

Nice. My suggestion would be to give people more incentive to contribute. A byline for the photographer (with the option of going anonymous), karma points, a profile page showing all of their contributions and ideally even a map of them. This profile page could then have a bio, a link to their site, social media, etc.

Thanks! We've got that in the works. Photos can be attributed to the photographer - see https://openbenches.org/bench/610

We're also working on a leaderboard - https://openbenches.org/leaderboard - will have to think about badges :-)

Cheers for the feedback.

https://cronitor.io started as a weekend project. I had an acute need for the product which enforced getting a working version quickly. After using the result of that first weekend hackathon in production for a couple of weeks my co-founder and I decided to put in another couple weekend afternoons and evenings to make it a saas product. We've been working on it part-time ever since.

I wrote more about it in an Indie Hackers interview a few months ago - https://www.indiehackers.com/businesses/cronitor

I really think you should write something about the purpose of the project & the stack used

This is cool! Please talk about the stack!

Mostly Python. Django for web app and rest API. The Falcon micro-framework for telemetry collection API.

The dashboard is a React SPA (since 2014!) that is powered entirely by our REST API so new features are always API-enabled.

Alerting rules are handled by a Python daemon that processes the event stream.

Healthchecks are dispatched by coordinators to Lambda workers in a half dozen regions around the world. We started using Lambda before the launch of great frameworks like Serverless so we had to roll our own lambda deployment tooling with Fabric and Boto.

We use several AWS services including Route53 for global latency-based routing, SQS and SNS, etc. You can check out our May AWS bill if you're interested in learning more: https://blog.cronitor.io/the-aws-spend-of-a-saas-side-busine...

Sarah Shopper, chatbot for Messenger and Google Assistant. You can search her name on Messenger, or say "Talk to Sarah Shopper" on Assistant.

Running on Google App Engine, written in Scala.

I posted my experience here in HN, but didn't get upvotes: https://medium.com/@wiradikusuma/12-lessons-learned-from-12-...

I built discurse (https://discurse.xyz/) for learning PHP/Laravel. It's mostly a clone of reddit, with the key difference that you can post anonymously, though you need to make an account for upvoting posts.

I posted about it on HN and reddit previously, but it didn't get much traction, so it's pretty much dead as of now.

Kinda bad that it has almost the exact name of https://www.discourse.org/, also a relatively new forum.

Well, the "curse" part is kind of important to the name, due to the anonymous nature of the forum :)

I am not well versed with the specifics of how trademarks work, but I hope this is enough of a differentiator to keep it safe.

Little utility at http://palettecrawler.com that shows the colors used on a website. Mostly just to get experience on publishing in a public, non-enterprise environment.

Liverunner, live sharing your running trail without having to create an account. Every map is deleted 24 hours after the latest location update. I wanted to get back into android development and to try out leaflet and OSM to display a simple map. Current domain name and plain HTTP are temporary, but I'm not sure I'll turn this into a "real" project. Everything is OSS on my github @edp



I built SQLiteProxy https://github.com/assafmo/SQLiteProxy to quickly expose a sqlite db as a network resource. It works great. ️

https://breachinsider.com - Will have a full MVP out very soon

That’s a neat idea. I’d love to know more details about what you’re monitoring? It feels like you’d need a Krebs on Security type level (and a lot of money to blow on purchasing data) to be really effective at scanning for leaks.

Funny you should mention Krebs - he was partially the inspiration for the idea.

Currently I actively scan 30+ pastebin style websites, including those on the dark web, but I feel the insiders themselves will be the key. Each has a unique email address assigned to them, which can be added to your userbase. That way, as soon as it receives anything abnormal, you are alerted that there’s been a potential breach somewhere.

The insiders also come with real local mobile numbers, to catch targeted phishing attacks after a breach has taken place. Not unheard of.

Eventually I was scale up to purchasing datasets, dark market dumps etc., however this will take time. Definitely on my radar though.

Financial App, for us to keep our household bookkeeping and finance management in.

Initially written in the abandoned Angular 1 framework and legacy ASP.NET, I'm now rewriting it using Knockout (with router5 for routing) and ASPNET Core 2. Initial version used gulp for bundling, new version uses webpack (for development) in combination with hot module replacement. Webpack has been a real nice experience.


I've got a few that have taken me about a weekend listed here: https://www.teachersdontpayjeff.com/

For example, one recent project was this: https://www.teachersdontpayjeff.com/suggestion ... it only really works on desktop currently. But the basic idea is to find words which may be "difficult" for younger elementary school students to read and offer some synonyms/definitions to help them out.

Just launched https://www.medistudents.com. Not technically fancy (it’s PHP+MySQL) but I thought I’d do something a little unique with how it’s built and managed.

The front end (apart from educational modules - see below) is built as a static HTML/CSS site with very minimal PHP and JS, and uses the Zurb Foundation framework as a full Gulp build environment. This helps keep the UI efficient and fast.

To provide database-linked services (i.e registered user-based services), I built an API using Silex. Without the API being operational, the static UI works absolutely fine, just an error when you try to log in. I use PHP file_get_contents as the very simple interface to this.

Finally, as the content is to be edited by non-technical doctors and eventually translators, I’ve used Bitbucket as a CMS. Learning modules are simple markdown files and images on a separate repo, which can be edited online using Bitbucket’s editor. When a new update has been approved via pull request, BB Pipelines will build and deploy an updated version of the static site. This process will even re-build all the PDFs which members can download.

It’s a unique yet simple solution, providing me with incredible control of the site, all without having to use or build a bloated CMS.

My project, Postways [1], started a side project but it's now a little bit more than that. I used to work for a startup were we where sending a lot of email, SMS and mobile push notifications to our customers. We used various different services for this at the time. The main problem was managing our message content. Our message text, such as SMS and mobile push, was stuck in source code and the HTML email templates were hosted in some marketing email platform. Every time the product people wanted update a message it was too much work because and at least one dev had to be involved. It was all quite messy and difficult to maintain.

Think of Postways as a content management system for transactional message templates with a unified API.

Even though this started as a side project, it quickly became more than that. It was a great opportunity to see if I could turn this into a service (a product), and that became the real challenge.

The main stack is pivoted around PHP 7.1. I use Symfony 3 for the web-tier and Doctrine 2 for the persistence layer. It runs on AWS and uses services such as EC2, RDS, SQS, Elasticache, Route53 and of course, SES and SNS.

[1] https://www.postways.com


More or less a booking service that allows users to pick their bookable hours and set prices for those times. Then they just link others to their calendar, the others can pick the time that works best for them, and pay for that time. Took some advice from HN about renaming it, and should be releasing soon!

Currently talking to a few early testers and doing a bit of extra feature development to better fit into my target niche.

Looks like: https://simplybook.me

But this targets a fairly large market.

Why do you speak of "niche"? This seems like a generally useful service.

I tried my hand at RiotJS to build https://apiblocks.com which is a way to see lots of API endpoints in one view. Specifically one point of data from each endpoint. It never got much traction and I had a couple of threads on here about it.

I still believe in the idea and have been working on it periodically, but I have started other projects since.

I think some graphs would be great. ex. Current Bitcoin price and a graph for past prices

Webhook: https://github.com/adnanh/webhook

Self hosted tiny incoming webhook server with powerful options. Lets user run shell commands on incoming webhook. Has context parsing (use values from payload, query string, headers etc...). Can use context to validate the requests (i.e. only trigger if the push is coming from GitHub and the ref branch is the master branch). More info can be found in the Readme and on the wiki.

Tech stack: Golang


Hookdoo - https://www.hookdoo.com/

A SaaS spin on the webhook server. Sort of an opposite approach. Has all the features webhook has, and also implements concurrency management (i.e. only run one script and deny others until it's done, allow parallel runs etc...). Centralized, managed, leverages SSH. No need for the user to install and configure anything on their servers.

Tech stack: Ruby, Golang, Redis, PostgreSQL, ES6 + React

A full baccarat implementation for node and the browser.

It's plain ol' js. I used it as an opportunity to give jest a try. It took a single Saturday to get the general concept down, then some bug fixes over the next few days as I misunderstood the drawing rules.


Also TextJawn, my first production ready native Android app. It was also done in a single Saturday with some bug fixes going out over the next week. "TextJawn enables password protected remote management over SMS.

Locked out of Google? Forget your phone? No problem! TextJawn lets you ring, locate, and check your messages by sending a text message."


A simple to-do extension for Visual Studio, had a hard time learning how to start but I'm now getting the gist of it.


A Github App providing CI for OpenEmbedded/Yocto projects: https://github.com/apps/yottaci, https://yottaci.idempotent.info

Initially I tried to use TravisCI, but it proved to be very inconvenient for the case of OpenEmbedded-based projects because of its time limits. So, I've created my own on top of MS Azure Functions. Currently it's used to do test builds against pull request to https://github.com/bmwcarit/meta-ros. But it can be used by anyone who's maintaining Yocto meta layers.

I have yet to finish even simple projects in the space of a single weekend. Does it count as a weekend project if it takes more than 52 of them?

Here[0] is my not guaranteed to necessarily compile or even exist repo of gamedev libraries and experiments, each of which has eaten up many a weekend.


Technology: C++ (with SDL2) and Lua.

I also taught myself Vagrant and Hack and started and will now probably never finish a Hacker News-style forum in it, because I'm already kind of sick of it and the hype train for Hack I was hoping would arrive by now really hasn't.


It finds bands playing in your area in the near future and creates a Spotify playlist of them. It still needs a lot of work but it's a fun way to discover shows to go to.

A simple vue.js application to display classes of my college: https://stuv.chagemann.de/

Our student organization already has a native Android app for this and it looks better (native is always better than web, of course), but as nobody really wants to continue its development or the development of an iOS app, I built this.

This way, we can just have a single codebase whose website can be displayed in simple wrapper apps for the major platforms.

In the next days I'm going to add current events (just another .ics to parse) and possibly guidance information for "ersties", the german word for Freshmen.

Stack used: Vue.js, Pug, Stylus, moment.js, ical.js




Both were spun up in a weekend. They’ve changed a lot since then, but only because of how many people use them now :)

Seems like a fun idea, but sadly the bot doesn't like my images (tried with 2 images): https://i.imgur.com/848OFut.png

Also, at least in Germany, I can use Deutsche Post/DHL to do the same thing, for cheaper: https://www.deutschepost.de/de/f/funcard.html

I used to work for UK startup https://www.touchnote.com/ - which is a similar idea. I like how simple your interface is. And bot interaction is very hot right now. You should contact them to see if they're interested in it.

Over weekends, I built an ARKit game for iOS 11 https://itunes.apple.com/us/app/hoop-stars/id1282112219

I'm still busy fixing issues & developing new features :)

ARKit itself may not be the most amazing framework ever, but the cool thing about AR is that people just get it. For example, my demo footage is here https://www.youtube.com/watch?v=tJlaUQA7Xic and it's very easy to grok

If you have any questions about ARKit, please don't hesitate to ask

I recently made https://mycriticmatch.charlieegan3.com to help people find a movie critic to follow.

I built it as a static site experiment largely in a single weekend.

This is really cool! It'd be even more awesome if there was a permalink so I could save/share my results.

Thanks! Glad you like it. If you fill out a few films you’ll see a blue button called “get share link” - this will gzip and base64 encode the state into a URL param so it can be shared.

Bit of a hack but I wanted the app to be truly static.

A Vim plugin for managing sessions https://github.com/bgrohman/vim-bg-sessions

A really simple backup system with bash and gnupg http://bryangrohman.com/simple-encrypted-backup-system/

A custom bookmark service for managing my bookmarks across multiple browsers with Node and LetsEncrypt. Planning to add end to end encryption at some point. I don’t have the code hosted anywhere yet.

I started working on http://statemaps.org to highlight inequality among states within a country.

I realize that a lot of attention is being given to inequality among countries but even within a country, some states are much less developed than others.

In statemaps.org, I am trying to present all this data through maps so that it can be easily comprehended. I have released for one country as of now and will expand based on response

Query Parse App. https://itunes.apple.com/de/app/query-parse/id1170245634?l=e...

Just needed myself a SQL wizard builder for Parse.com (and soon for Mongodb) that checked data types and references on joins. It can export your query's generated code to be run elsewhere and also is capable of export query's result in .csv format. Making some money out of it :)

Primarily a systems guy, hadn't really looked into web dev. After I burnt out and quit my job I developed https://discoverdev.io - a daily list of awesome engineering blogs!

Initial prototype developed over a couple of days, using plain HTML and CSS! Absolutely no JS.

This project was primarily to recharge myself after a bad job. I loved collecting and sharing links with my friends, so I made this!

I recently also added a mailing list and got a good number of subscribers :)

http://www.zavtech.com/morpheus/docs/ - The Morpheus library is designed to facilitate the development of high performance analytical software involving large datasets for both offline and real-time analysis on the Java Virtual Machine (JVM). The library is written in Java 8 with extensive use of lambdas, but is accessible to all JVM languages.

https://macvendors.com was a side project from 5 years ago, gets $600-800/m in ad revenue now and the API serves up about 30-35 million request a month

https://sendfly.co just launched this last week. Still have to do some documentation and UI work to make it a bit more intuitive. It’s a contact form endpoint.

Well, for myself recently I have used AngularJS to implement a simple news aggregator(http://www.pxlet.com). and deployed it within one day(Well to be honest, it's around couple of days because need to spend time finding the news sources). I find AngularJS is quite appealing to develop single page app. It handles the view and JS data model quite well.

In my free time I've been exploring generative art. I got an AxiDraw V3 and it's been a lot of fun. I don't have a central place with all my work yet, but I just launched a newsletter: http://tinyletter.com/paulgb/letters/introduction-icymi-edit...

http://browserhelp.me started as an aid for the impaired to control your Chrome browser via Amazon Alexa. The prototype won two awards in online Alexa contests, and even though the product is still very much under development it has about 500 people already using the skill. Learned a lot from that project!

A bit more involved than a weekend project, but http://cinetrii.com

How is this made? (Stack, AI, etc?) awesome site thanks!

Wow, that's off the chain. Super cool.

https://github.com/sivasamyk/logtrail - A Kibana plugin to view and tail logs. Started as project to scratch my own itch and now used by many. Technology : AngularJS and NodeJS. Currently working on a major enhancement for this project :)

Give me my time back, youtube ! I need it for HackerNews


tldv keeps the scary good yt recommendation away from you


It's a Hearthstone reference site for what's in standard rotation atm.

MTG version: http://whatsinstandard.com/


It's taking longer than a weekend though. My usual projects are more complicated and I wanted to do something brain dead and relatively instantly gratifying. Clojure + clojurescript(react based).

OK, how do I buy the cans you've told me I want?

I'm on the page for "HIFIMAN Edition S" - I'd expect an Amazon affiliate link or something. Earn yourself some cash :-)

You should make all the radio buttons in the same style. Took a minute to figure out how to use the UI, which is too long.

AKG K240 (MKII)/Sennheiser HD 598 seem to be missing (I only know of these two)

Yeah I've been meaning to add the K240 as they're quite good and popular. I'm not immediately familiar with the HD 598 but Sennheiser generally makes good stuff at each price point. They have a habit of changing model numbers periodically though for seemingly no reason.

https://www.juicebox.dj/ - Listen to YouTube/SoundCloud with others

Ended up taking way longer than a weekend but it's still basically a passion project of mine. I used Node.js, Firebase, and React.

Got tired of fiddling with deployment and built Exoframe [1] that handles most things during project deployments for me.

[1] https://github.com/exoframejs/exoframe

on weekends I like to do easy stuff for fun. I build stuff with canvas, mostly to (re)learn new things, like geometry, etc.



Heroes of the Storm builds auto generated from pro matches. Just a fun little thing that was useful to me, no current long-term plans to turn it into a business or anything.

A conference tracker that shows conferences in a map (simpler view on mobile). Built with React and some other things in the ecosystem.

conferenceradar.com (it's open source and the list is maintained/ updated through PRs on github)

A fake SMTP server you can use for automation testing - aims to be a more convenient version of Mailinator


A basic drum machine in Angular, React and Vue, to help me get to grips with these frameworks:


I'm working with the new theme based on Publii (https://getpublii.com)



There appear to be more robust alternatives for both of these, so I’m curious what your “elevator pitch” would be for them?

Cilia is an understandable CI server that's made only for one relatively simple task: building and serving web frontends defined with Docker Compose. It has a very simple hook system and it can show Browserstack videos inline.

The one little feature it has that I haven't seen in other tools (but I'm sure it's not unique) is that it can reverse proxy by Git commit, so that "<commithash>.ci.example.com" becomes a way to see how the frontend looks at some particular revision.

Actually I wouldn't really pitch it to anyone, because it was quite internal and somewhat made in anger over the complexity of build servers like Jenkins. It was also an exercise in slightly larger-scale shell programming, which is considered extremely stupid around here, so.

Testdown is still the best system for smoke testing React apps I've used, and I made it because the company I was working at really had horrible experiences with frontend testing. The natural language specifications are kind of like Cucumber, except better and with no need to code step definitions, just define the "data-role" attribute on elements, which I found to be a much nicer paradigm than maintaining a bunch of CSS selectors in the test code, etc.

It was really useful to have UI test specifications that could be read by everyone in the company. And because it's made in a way that integrates with the React app, instead of sitting outside watching via e.g. PhantomJS, it can be very accurate and robust. For example, our app showed a spinner whenever it was loading an AJAX call, so we came up with the "Wait." command that simply waits until no spinner is visible, and that worked really great.

I don't care so much about Cilia, but Testdown is still a really interesting project for me. It's as much about a specific implementation as a way of thinking of testing in a pragmatic and nice way. I'd like to try implementing it with a parser based on GF (Grammatical Framework), to be able to handle actual grammatical constructs with more sophistication.

Neither of these projects are mature technology, but they worked like champs internally for about a year, and helped kickstart us into continuous integration of the frontend, which had been a thorny problem.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact