Ask HN: What are you currently working on in your spare time?

33 points by SoundAndBug ↗ HN
I have a lot of spare time at the moment and I'm thinking about a new project to add to my portfolio.

I'm exploring the Canvas and WebGL APIs. I'll probably do something with it and add WebSockets for multiplayer functionality.

I was looking at Phaser3 yesterday and I was surprised how easy it was to get started.

40 comments

[ 2.6 ms ] story [ 83.3 ms ] thread
I have a big project and a small one.

The small project involves getting rid of reducers in react redux, by creating a modified version of JSON.

The big project is a new social network. A selling point is recovering the idea of Google + circles, but using groups instead (like in Whatsapp). Think about merging WhatsApp and Facebook together, you should be able to publish things in the same way you do messaging through WhatsApp.

Can you explain why do you want to get rid of reducers? What do you gain from it?

Good luck with the social network. Seems like a tough job.

With the spread (...foo) operator you can already merge json objects. However in order to use it you need to have access to the objects you make reference to.

This is how it would work: In the front end (like in react-redux) you have your state variable and then you normally make a request to the backend, which the backend returns this "JSON2" object, which you can merge automatically (with JSON2.merge method) to create the new state, without requiring reducers. The only thing is that the back-end would need to be aware of how the front-end state structure looks like (it doesn't need to keep track of the current state though).

// the front-end state

let state = { some: "things", nested: { something: { what: "what", } }, other: [2,3] }

// action is a string with JSON2 format that comes from a query to the back-end. Take the "..." literally

let action = "{ ..., nested: { something: { ..., more: "manymore" } }, other: [1, ...] }"

// create the new state

state = JSON2.merge(state, action)

// now state is:

state = { some: "things", nested: { something: { what: "what", more: "manymore" } }, other: [1,2,3] }

I'm relaunching my chiptune/VGM music player [1] with a bigger catalog, and working on a libgit2-based Git client for the CLI [2].

The former is all about exploring new browser features (WebGL2, Wasm, WebMIDI), the latter all about dealing with ancient terminal stuff. Quite a mix!

[1] https://muki.io [2] https://tomas.github.io/jix

It's interesting to see what can be done with the Web APIs.

This is my venture into the Web Audio API (+ websockets): https://www.personalecho.com/jam

It's pretty basic, but I find it fun. I used Tone.js for it.

Tone.js is great! Also check out timbre.js if you haven't.
Is this it: https://github.com/mohayonao/timbre.js/ ? (It says it's not maintained anymore)

What does it offer that Tone.js does not?

Yikes, just realized it's no longer maintained.

Timbre lets you do more advanced stuff in a simpler way (less lines of code), although the last time I used Tone.js was a long time ago, so things might be different now.

Take a look at the Timbre.js examples!

My mother has expressed to me several times her disappointment at not having any printed pictures since she got her iPhone. I usually remind her that she can get her pictures printed if she really wanted to -- but after several years of this, I realized that the hassle of getting them printed is enough of a barrier that it's never going to happen.

So I'm working on an app that will allow for automatic printing and delivery of pictures from mobile devices:

http://www.printstream.net/

You can add pictures to your PrintStream account and it will choose a certain number each month to print and deliver to you. We also are thinking about an even more automatic method, where the app will algorithmically choose from all of your photos each month without having to explicitly add them to your PrintStream account. This is definitely a feature my mother would want, but we want this to be opt-in to protect the privacy of the users.

I'm still prototyping the app using React Native but I'm excited to get it up and running.

This is a super neat idea. There's a lot of discussion around the value of printed images vs digital images and this is a great way to bridge the gap in a useful way. Also a fantastic gift service (what grandmother wouldn't love new photos of their grandkids delivered every month?)

Good luck!

How are you going to monetize the apps? I don't think ads will be enough.
Yeah, agreed -- I think ads would be insufficient. Right now we're planning to have a paid monthly subscription model. We'll probably scale it based on how many pictures actually get ordered through your account each month, up to some pre-defined maximum monthly quota.
This reminds me of NanaGram [0], but it seems your use case ("I want to print my own photos") is different than their use case ("I want to send printed versions of my photos"). Very cool!

[0]: https://nanagram.co/

Thank you for the mention. My quantum-of-one [0] was my late 94-year-old grandfather [1]. My brother and I gave NanaGram to him for his birthday. (Well, really it was a quantum of two because my grandmother also loves getting photos in the mail.)

I got married this past June and at the wedding shower my Mom gave my wife lingerie while chanting "4 kids! 4 kids! 4 kids!" As you can probably tell, my Mom has 4 kids. My initial use case was "I want to send curated 4x6 prints from my 3 siblings and I to my grandparents." Most people using NanaGram send photos to their loved ones but we do have some folks sending photos to themselves.

@trykondev FYI your title tag is "Mysite." This is a super fun space to be in. Good luck with your launch. I think grandparents and moms are some the best of quantums.

[0] https://www.youtube.com/watch?time_continue=3075&v=4WO5kJChg... [1] https://nanagram.co/blog/on-happiness-from-tirrell-cook

such a good idea. it will be so gratifying to receive them
The smallest plans could send the picture as a postcard. Should be cheaper than a letter even.

Maybe even good for a first version because it you just have to print double-sided, but no envelope mess.

I’be been making high build quality Wordclocks as presents for friends and family over the past few years. I’m frequently told “you should sell these!” So I’ve made a design that I think is pretty nice from a piece of hardwood. I’ve sold one so far (without any promoting). I am now working on building some stock and just about to start promoting the site [1] and hope to sell 3-4 before the holidays. I plan to market these as a limited edition (100 units max) are piece.

Moderator Dan contacted me and suggested I post as a Show HN about my story. I hope to in the next few days.

[1] www.finewordclocks.com

This looks amazing.

Can you share which micro-controller are you using?

Thanks! I’ve tried a bunch of different arduino/compatible units. Early ones started with Duos. Some others used Sparks. It’s more a function of what bus voltages are needed for the LED controllers. If possible I prefer to not use line lever converters. Currently I used a customized protoboard but am planning on custom PCB in the future. Each one is generally an improvement on the last due to streamlining processes.
We’ve started Solo, an open source security key for two-factor auth. It’s cool because it’s the first to be open and support the newest FIDO2 standard.

We worked for about 2 months on a kickstarter that launched last Wed and is going beyond expectations! If we reach 10K backers, this will be the most backed security product on Kickstarter... for an open source product that’d be a dream coming true!

https://solokeys.com/kickstarter

This looks really great! I've never really carried a key with me and am afraid of losing it, but am thinking about giving it a try. How long have you guys been working on this for?
This is the upgrade of U2F Zero (https://u2fzero.com). We're working on Solo since August, but we Conor started his project more than 1 year ago.
I have been learning Go/golang for the past week. What an awesome language. I always wanted to learn something that was not quite low level like C and not high level/interpreted like php/python etc. Go seems like a good balance between the two. I may build a REST API with it soon :)
I'm building a fitness tracker specifically for rock climbers using RFID in addition to the regular fitness tracker sensors (accelerometer, altimeter, etc). It started as a project to teach me lower level embedded programming (I do web dev for my day job). Since then it's expanded and we're actually testing it at a local rock climbing gym. If you're curious you can see a demo video here https://www.youtube.com/watch?v=6gnEAeMDKt8
I got fed up of going to conferences and getting some cool stickers that I never get to put anywhere.

The obvious idea is to put them on your laptop, but that can make reselling it difficult, and you lose those stickers if you sell it with them still attached.

So... I’ve managed to find some sticky-backed vinyl that looks almost exactly like the aluminium used on the MacBooks and MacBook Pro’s. I’ve stencilled and cut out a couple of lids and when applied you can barely tell they’re on there. They look awesome.

I’ve had them on nice hot laptops for a couple of months (with cool stickers applied on top) and they peel off fairly easily, but most importantly, leave zero residue.

I’m planning on figuring out if there’s a market for these ‘skins’ and going from there. I’ve take pictures along the way so I’ll put a blog together about it shortly, and gauge interest.

I would be interested, that is the exact reason why I'm not putting any stickers on my laptop.
That's pretty neat. My workaround at the moment is to put all my stickers on a hardshell case for the MBP. That way, I can just pop it off if I'm ever ready to sell or just want to look more "professional".

I must say though, that the extra bulk of the case can be slightly annoying and I miss the look of the aluminium. I"ll be interested to follow your story!

I am working on building a teach your kids how to program with Scratch 3.0 tutorial. It is slow going, but my daughter is having a lot of fun working out the details
(comment deleted)
I'm building a Tradewars (old BBS game) clone in Go. It's fun trying to reverse engineer how certain things worked.
Right now I'm writing a Scheme interpreter from scratch. It's quite a rabbit hole and I'm loving it so far. Planning to dive into the world of compilers next.
I run an Amazon FBA business and also organize a 1000+ person meetup group. People often ask how they can find and vet a quality freight forwarder:

https://www.jumpcargo.com

A user will be able to view and contact freight forwarders by state or transport type. I'd like to get a payment portal and maybe even a jobs board in there too.

Today, I was going through the ffmpeg tutorial on http://dranger.com/ffmpeg/tutorial01.html. C ecosystem has lots of warts, especially with linking, however I settled on some "sane" defaults with all the warning flags, C11 version and clang-format (now I probably still need to use Valgrind at some point).

On the physical plane, I've been practising my longboard carving skills.

Projects that I currently have on my backlog:

- Upgrading my BarrelDB Elixir client (https://gitlab.com/barrel-db/Clients/barrel_ex) to support the new version of the underlying Erlang distributed database.

- Fixing translation from Elixir to Erlang on a function body level of Doppelganger (https://github.com/jxub/doppelganger), an automated Elixir to Erlang code translator working with pattern-matching on the AST level.

Also, reading about ways to limit global warming. I hope the recent IPCC findings make people and corporations change their habits, or at least make governments impose bans on non-electric cars, modern farming practices, etc...

I'm building https://www.shareseer.com to make access to financial data easy.

Most recently I added a feature that allows download of financial statements for most US listed companies.

I work on a remote team and am building a tool in my spare time to help with some of the downfalls of working remotely.

As a remote worker, occasional zoom calls help build connection and team retreats are amazing, but the rest of the "oh hey! New coworker just walked by! Let's go say hi!" type communication just isn't there. That serendipitous communication you get in a colocated environment is hard to duplicate in a remote one.

I'm building https://hallwayapp.com at the moment to serve as an asynchronous home base of sorts for my team (and possibly other teams). If you work remotely, I'd love to hear your thoughts and/or how you build teams.

Thanks to heaps of feedback I have received via email, I am manually merging feedback text changes into free programming books; goal is to release fresh new free programming books by 1st of November 2018

Link: https://books.goalkicker.com

I'm working on a browser extension that checks if the website you're working on follows current SEO, speed and security best practices:

https://www.checkbot.io/

I have been building an e-commerce website[1] from scracth (I know I could have used shopify or similar but I wanted to learn the ins and outs) to sell motivational posters. Tried a few ads but seems like there is no market for this kind of posters. Probably shutting it down soon....

[1] https://printinsanity.com/