Ask HN: What's your quarantine side project?

1336 points by dhr ↗ HN
For those who are still under lockdown, what are you working on / building / learning?

I've been making excessive amounts of bread.

2,288 comments

[ 0.22 ms ] story [ 452 ms ] thread
Community driven movie recommendation app - check it out https://www.movvio.com Now the biggest challenge is to how to get ppl to subscribe for Early bird access while we are finishing the app :(
As a developer, I'm curious to know how 'Step 3' is supposed to work compared to other ways making recommendations.

One of the big problems I have with recommendations is recommending things I've already watched. Netflix used to be so good at the start, now my tastes are just pooled in with what everyone else is watching now.

So, when you join the app, you will go through onboarding flow where we try to understand your movie genre interests, as well as, you can opt-in to give suggestions in the future (this way you become part of community). So, once you submit a request, app will send those request to selected ppl from the community asking for a good suggestion. Once they suggest movie/TV show/series, you will be notified and will be able to pick those that you like/dislike. App will try to understand who are ppl from the community which suggestions you liked the most and in the future will connect you profiles similar to those people. That way you will have your unique path. The main reason for this is when we did PoC most of the participants stressed that they take suggestions from people they know and share similar taste. But again, we are in stage of releasing our MVP, so I'm sure there will be more things to learn :) Hey, why not subscribe for "Early access" and help us crack that part :)
I've been diving into digital communications, particularly VLC (https://en.m.wikipedia.org/wiki/Visible_light_communication)

There is some decent information out there about it including open source solutions and many good papers (unfortunately some paywalled) and I've been working on a very primitive prototype, but I've been pretty distracted. I've also ordered some books on VLC, digital communications that cover theory as well as some more applied ones. I do hate how many of the books are either textbooks or associated with standards that seem to make them very expensive.

Unfortunately sooner or later, I'll have to face my extremely weak math ability, which I'm dreading.

Behind that I have a ton of side projects backlogged ranging from more digital communications and hardware stuff, to retrocomputing projects, to some ML stuff I want to try.

Learning Tailwind CSS, alpine.js and livewire and finally finishing my SaaS.
I'm tinkering with a single player word game in HTML5. Feedback welcome. :)

https://seanwilson.itch.io/wordoid

I've tried to make it intuitive enough that you don't have to read a page of instructions first but let me know if I've missed the mark. I'm hoping you can learn the gameplay mechanics as you play.

I'm not using any web frameworks for this which was actually fun to do. It gave me a chance to improve my understanding of CSS animations + reflows, and catch up with changes to JavaScript.

Just played with it for a few minutes, I liked it! The only bit that occasionally tripped me up was going diagonally in my word construction, but I got the hang of it after a few rounds.

One thing that may make this easier is beveling the edges of the tiles slightly so you don't accidentally select letters on either side of the diagonal unintentionally.

Great, thanks for the feedback!

> One thing that may make this easier is beveling the edges of the tiles slightly so you don't accidentally select letters on either side of the diagonal unintentionally.

Thanks, I'll have a play with that. If you use your web devtools to inspect the HTML, you should see over each letter tile, there's actually an invisible tile on top of each one at a 45 degree angle that's being used as the real touch/mouse target for selecting letters (as accidental selection is awful if you use the actual tile as the target). Maybe there's a more reliable way but playing with the target shapes and sizes will probably help.

Really fun, very polished! Stream of consciousness feedback:

After a few levels I found clusters of letters I was having trouble with building up over time (there was an “X” right in the middle, and like six “I”s clumped up). I found myself wishing there was some mechanic that could clear them out. Maybe that would make it too easy though.

I really love the animation when you make it to the next level, very satisfying.

On mobile safari, holding your finger on a tile for too long causes a text selection.

I’d love a “zen mode” with no timer!

Thanks, stream of consciousness feedback is ideal. :)

> After a few levels I found clusters of letters I was having trouble with building up over time (there was an “X” right in the middle, and like six “I”s clumped up). I found myself wishing there was some mechanic that could clear them out. Maybe that would make it too easy though.

Yep, this seems worthwhile looking at. Maybe smarter letter randomisation would help this e.g. don't allow a new "I" tile in a place that has two "I" tiles already, don't allow clusters of consonants.

> I really love the animation when you make it to the next level, very satisfying.

Great! I thought I needed something flashier so I'm happy this could be enough.

> On mobile safari, holding your finger on a tile for too long causes a text selection.

Ah, thought I caught that. Thanks!

> I’d love a “zen mode” with no timer!

Yep, I want to figure something out for this. It's pretty fun thinking of different scoring mechanics and how this impacts gameplay strategy.

This is great! I think some words are on the screen that don't count as words (zen for example). Otherwise lovely!
Thanks! You mean "zen" was allowed but shouldn't be?
There were several words that were visible, and were words, but were not accepted by the game.
Okay, I can add them if you let me know of any others. I'm using the same dictionary as Letterpress (which is one of the best openly available ones I've found) with a few additions.
The ability to turn off sound would be nice. Otherwise, pretty cool.
Thanks! Yep, mute is missing and I'll add it. I was trying to push myself to launch an MVP without over polishing it.
Loved it! A few things that confused me: 1. "?" is a wild card, right? (meaning it can stand in for any letter) 2. I once got a diphthong "qu" in a single tile - not sure if it was a glitch? 3. Why is a tile sometimes yellow?
Great feedback, thanks! Sounds like I need to make the game rules clearer but hoping I can do that without explicit instructions somehow (it's a fun design challenge too). Let me know if you've got any ideas.

> 1. "?" is a wild card, right? (meaning it can stand in for any letter)

Yep! It'll autocomplete to a valid letter as you use it - there should be tons of valid 3 letter words so I was hoping people would figure it out with a quick bit of experimenting. Try just making up a long word to see if you can find one for big points (at the cost of the time it takes you to guess).

> 2. I once got a diphthong "qu" in a single tile - not sure if it was a glitch?

Yep, there's no "q" tile, only a "qu" tile to make it easier to spell something. Adding diphthong to my personal dictionary!

> 3. Why is a tile sometimes yellow?

Scoring explanation:

- Word scores directly depend on the length the word and goes up quick e.g. for a 3 letter word you get only 1 point (a deliberately lame amount), then 4 points for 4 letters, 9 points for 5 letters, 16 points for 6 letters, 25 points for 7 letters.

- The exception is yellow/bonus tiles are counted like they were two letters when calculating the word score, so one or more bonus tiles in a word grows the word score massively e.g. a 5 letter word using 2 bonus tiles will get you 25 points instead of the usual 9.

- You get rewarded a bonus tile if you spell a long word (this one for sure isn't obvious unless you play several games).

One of the core strategies is to earn a few bonus tiles with longer words, then make maximum use of them to level up by spelling words using multiple bonus tiles at once.

For the scoring, I was hoping for players to go through this thought process 1) "hmm, 3 letters words only give you a single point" 2) "4 and 5 letter words get way more points, and the score goes up rapidly by the length of the word" 3) "the bonus/yellow tiles boost the score up even faster". Sounds like this needs more work though so thanks.

Nice, fun. I think a 5x5 grid would be better, at least for me. I can't hold a 6x6 in my head. Or maybe that's inevitable with the constant cycling of letters.

And maybe I wanted vowels and consonants to look different (maybe a subtle-ish color change) so I could see at a quick glance how I'm doing at board management. But who knows if this would be useful in practice. (Actually now I wonder if I can do this myself in CSS...)

Thanks, that's useful feedback! I agree some colour variations would be good for guiding the eye.

I partly moved from 5x5 originally to 5x6 because it looked better on mobile/portrait but then I found in play testing more letters gave people more room to manoeuvre when the orange/bonus tiles start appearing (where you want to delay using them).

Wow very well made, I did a similar thing (for kids) couple of years back, but I really like that you can swipe in your version! https://finding-nora.com/
Thanks, it's more work than it looks which you'll know. The swiping code was a bit of a pain to be honest. The web APIs for handling mice and touch events together aren't well unified.

Haha, we have the same confetti effect at the end. Nice work! Is the situation with iOS and PWAs any better since you last worked on it (I saw your note about a few issues on the GitHub page)?

Yes I also wanted to add swiping back then but I guess it’s even harder if you’re using React.

PWA’s are slowly becoming better on ios, there was another new release of safari that fixed a lot of bugs. But it’s still very niche, since Add to Home Screen is so hard to find for users

That was fun. I wanted to create a platform where you could drop in a game like yours and instantly enable leaderboards with groups of friends. I have couple of test games plugged in. Check it out.

http://ping3.com

This was great! Loved it and the time per level felt good as in I wasn't inordinately stressed. Got to 249 the first time but had some scares for sure.
Thanks! Glad the timing didn't feel stressful. I've had some people say they don't generally like timed games but when it was game over here they felt it was fair instead of blaming the game - seems a decent thing to aim for.

You actually get an extra second before your time runs out to increase the chance of "just in time" saves. :)

I made a website to connect and chat with people who are listening to the same song right now on Spotify.

https://tunemeet.com

Would need a pretty vicious critical mass but I like the idea :)
Yeah, planning to promote it on Reddit and ProductHunt so hopefully can gather more users and reach the critical mass.
I'm building TidyCloud. It's a toolset on top of common cloud storage drives to provide cross platform search, duplicate identification, security risk identification and usage statistics/analytics across your files stored in the cloud

https://tidycloud.app

I'm looking for beta users if you dig the idea and want to help out a feel HNer.

Looks valuable! I've a question. I'm building something which stores encrypted app data through a user provided cloud storage login.

Could TidyCloud allow for a user to OAuth login and request permission to store files across many storage providers (to ensure availability)?

Cross provider sync is on our roadmap but not available yet. If you want, send me an email with some more details and I'll look into the feasibility.
So much stuff. New raspberry pi 4, that and.. ...Exploring Alpine Linux ...Exploring NixOS ...Exploring Lightweight Linux Containers/VMs ...Writing a Hacker News Crawler ...Continuing my sometimes-paying (wx)python work

pretty much the usual, actually...

I actually wrote a simple hn script that sends me top stories everyday. If you wanna check it out let me know
I'm working a simple online faxing service[0] that doesn't ask for your email, and sends faxing quickly. Not free, but 0.20/page. Still working on converting the in memory db to sqlite. Feedback would be great.
How are you implementing that. It sounds really cool
Where is the service? You didn't link us
Is there an actual per page variable cost incurred to provide this service? Assuming no, as consumer of these types of services I would like to see a pricing formula that doesn't get so expensive for larger page count documents.

Even something like $1 + $0.05 per page would be nice and solves your micro transaction dilemma on <3-4 page faxes.

My cofounder and I threw together a virtual table quiz platform. We stream the questions on YouTube live and accept the answers through a web app I built.

We've been able to host quizzes with over 250 teams, scoring their answers in real time. The scoreboard is auto generated and players can make a contribution with stripe.

So far we've given over 6k euros to various local charities. I'm very proud of what we've achieved so far.

Is this the thing three blue one brown uses for his live streams?
No. Right now it's just our two weekly quizzes (Tuesday and Friday) from Ireland, one quiz from California (Friday) and a couple corporate quizzes we host for companies, maybe one every two weeks.
A simple spaced-repetition flashcard system, where the flashcard decks are github gists.

I know Anki and other alternatives exist, but after having written my own private wiki (10 years ago!), I have found value in DIY'ing important tools.

Was working on this before the virus, but still am actively developing it.

https://docs.certera.io

It's a central place to monitor, issue, renew, revoke your Let's Encrypt certificates.

This seems interesting. I also saw Caddy 2 which seems to have a lot of functions (with handling certs as one) and it's good to have something that's complementary with other software.

Also nice write-up on the 'source available' licensing rationale.

I've been following Caddy and what they're doing makes sense.

Certera aims to fill a gap in centralizing and managing LE certs and allowing those certs to be used in more places and scenarios.

I've registered a few domain names for soon-to-start projects:

- cheatsheetsdb.com - crowdsource them by topic, up/down votes to see which are good

- ispecsdb.com - similar to above but for various product specs

- stackflows.com - something to connect a slack channel's messages as input to a Kanban-like-board workflow (unclear use cases/design)

Past projects: (welcome any comments/suggestions)

[0] https://statuspages.me (all the statuspages on one page),

[1] https://gitgrep.com (hosted git search),

[2] https://quicklog.io (high-level events to narrow log viewing)

I put up an MVP for cheatsheetsdb.com, it's live!

Please add your favorite cheatsheets (but not tutorials, guides, or other long form content).

https://cheatsheetsdb.com

I still have my day job (working from home), so I haven't had too much time to pursue side projects, but I've been doing a lot of reading lately on Nintendo 64 internals (esp. around the RCP and the microcode thereof) and homebrew, and it's got my head ticking. If all goes well I should be getting an EverDrive-64 X7¹ in the mail in a couple weeks, which will be a boon for (hopefully) eventually putting all that reading into practice. No practical benefit to this per se, but it does seem to be an interesting potential foray into embedded programming, which has always been a gap in my knowledge that I've wanted to fill.

I've also been on-and-off learning Zig, both in support of the above (Zig on the N64 seems to be uncharted territory that I'd love to help explore) and in support of development of a Tcl-like programming/scripting/config language (iterating on my learnings from an earlier project of mine² implementing such a language on top of Erlang/OTP); the latter's something that's been bouncing around in my head for a few years now, and I feel like I'm at the point where I'm ready to start bouncing those ideas into an Emacs buffer, lol (especially now that I've found what seems to be the right host language in which to implement it).

EDIT: oh, and early into quarantine I did submit my first ever patch to wine-staging³ (with quite a bit of help from a couple others, including one of the wine-staging maintainers) to fix a mouse cursor/movement bug in Mount & Blade II: Bannerlord under Wine/Proton. It's a small patch, but it's my patch nonetheless, and it's a surreal and proud feeling to see my name in the commits for software I use almost daily. It's also helped demystify Wine a bit for me, and I look forward to continuing to do my part to make it better.

----

¹: https://krikzz.com/store/home/55-everdrive-64-x7.html

²: https://otpcl.github.io

³: https://github.com/wine-staging/wine-staging/blob/master/pat...

As someone doing mostly C development at work I've really come to enjoy Zig in my side projects at home. At work we are moving a lot of newer development to Rust, which makes sense in terms of safety, the speed we want from C and "modernising"/becoming more attractive as an employer. However, when I'm doing projects for my own amusement at home I want something that doesn't feel like work, and getting into Zig and have something working took me no time. It's so easy to interface with C libraries that I can spin up most things with existing C libraries for the things Zig doesn't already provide itself.
Yep, exactly. I was originally pretty excited about Rust, but I feel like it biases toward large highly-structured projects like C++ does, making it a bit daunting for personal projects. Just a bit too professional for something I'm hacking together over a weekend, lol. Zig feels like it's easier to wrap my head around, and seems optimized for the "pet project" use case.

I also feel like learning Zig is helping me better understand C. I probably wouldn't have been able to contribute much to that Wine patch if Zig hadn't already gotten me more comfortable with pointers, statically-allocated variables, and such in a reasonably-safe way (having prior experience with Perl did help a little bit for pointers, since referencing and dereferencing variables is pretty common in Perl codebases, but it always felt a bit detached from what the machine was actually doing behind the scenes).

Hey! Someone else who likes zig and erlang/otp. Can you get in touch with me? I'd love to chat. Contact info in profile.
Email sent (expect one from northrup at (my HN username) dot us).

Reminds me that Zigler's yet another reason why I've been wanting to learn Zig; I usually go with ports over NIFs, but should that ever change I'd definitely rather be doing it in Zig than in C (or Rust, as similarly-neat as Rustler may be). So thanks, and keep up the good work!

I'm working for the Azimuth Project modeling the Coronavirus and deploying a new math web server for them.I'm learning Category Theory at https://categorytheory.zulipchat.com/. Both are projects supported by mathematician John Baez. The Azimuth Project is righteous as they supported the copying of climate data from the US government when Trump came into office.
SEC filings browser. Currently just a prototype: displays the most recent filings as they occur
Do you read directly from SEC's EDGAR system?
Yep. Currently, I only parse their RSS feed. Later, I want to extract and organize information in a way that's easy to search, look at and save.
Possibly unrelated but I would pay $ for a one-click earnings call app. Type in a stock ticker, get the most recent earnings call in an audio player in one second.
Thank you, great insight, I'll give it a thought. I want to have a focused, narrow scope for the MVP, but I think finding and digging (public!) financial information is a mess currently, even with all the apps, blogs, yahoo finance and the likes out there
Learning electric guitar and toying with the idea of making a trainer game/app, primarily for practicing chords. Realtime chord detection is not too difficult for a single person to implement, but at the same time it is not a commodity technology either.
Rocksmith pretty good and goes on sale on Steam regularly, if you end up finding that building something will take too much time.
I'm using Rocksmith and Yousician (the free version), but I think there's room to improve over what both of them provide for practice / exercises. For learning and performing songs they're definitely the best due to the sheer amount of content they have.

I'm very early in my learning journey so I'm not concerned that developing a prototype version I could use for myself will take too long (it could be that I'm underestimating the difficulty of the problem). I was already able to slap together most of the "glue" code in Unity in a couple hours, and given my signal processing background I have solid ideas for how to approach the difficult algorithmic parts.

Since you have a signal processing background... what would be super cool is if there was a tool that could analyze all the chords in a song file (e.g., mp3) and magically create a Rocksmith/Guitar Hero style "racetrack" for practicing. DLC can get expensive quite fast, and songs you want to play may not always be available without modding/hacks/cracks, etc.
I'll keep this in mind! It is a tremendously more difficult problem though due to all the other instruments (including voice), distortion, etc. in real music tracks compared to a clean guitar signal. This is when you would have to break out the neural networks. Machine learning happens to be my day job so it's not impossible! But for now I'm keeping my target scope small :)
I've been working on a toy Lispy language and self-hosting compiler that targets JS. My goal is to explore building a full-stack web framework with a template compiler similar to Svelte that runs minimal JS on the frontend.

https://github.com/iBelieve/knight

Options trading robot, it is currently doing ok in simulations but I am too scared to give it real money. I have never written so many tests for such a small amount of code before.
Was working on something similar myself, what is your tech stack?
NodeJS wrote a custom little api for cheddarflow and Robinhood so it can check unusual options activity and contract prices instantly(ish)
It's cathartic. I've been running one for 3 years now. Just turn it on, there's no other way to learn.
> I am too scared to give it real money

You should be. I hedged a bit recently with some options. Options can be low-volume, so the bid/ask spread alone can kill you. Read that bit again. If you're not accounting for the spread, you might get killed. They're also incredibly volatile right now. I've had days +/- 30%. I'm not sure if someone like Robinhood goes lower, but a contract is for 100 shares, so the min bet is big.

Yeh your right, It’s programmed to not mess with anything where the bid ask is >3%. Otherwise yeah, it would get eaten alive. It uses a combination of unusual options flow and some basic technical analysis to make trades and has been doing well so far but... it is easy to lose a lot quickly if ya blow it.
Mobility.

I'm in my 30's and have always struggled with how flexible I am. Since lockdown I've spent just about every evening mobilizing anything that feels tight or uncomfortable has been a game changer.

I'm finding that I feel physically pretty great, less tight, aches/pains have faded away though there are still a few old injuries I'm working through.

Lockdown has been hugely helpful in maintaining the habit: kids go down in the evening, take the dog for a walk and stretch until you go to sleep has been a great way to unwind.

If you're looking to get started, I initially followed this guy's[0] youtube channel for a month, then started doing what felt right for me.

[0] - https://www.youtube.com/channel/UCU0DZhN-8KFLYO6beSaYljg

This is a great tip. Love it. Thank you! Hope you can touch your toes!
I was inspired by Youtuber Device Orchestra to try turning a sonic toothbrush into a synthesizer. I got it to work and have made a couple videos: https://www.youtube.com/channel/UCtBIAIUupbJChgrajTvapSQ

In case anyone cares I'm sending MIDI to an Arduino board which I programmed to handle the events using a MIDI library. I then convert the midi notes to a frequency which I pulse on two digital pins driving an H bridge, which I hook up directly to the coil on the brush.

Amazing! I love it!!
This is so cool!! I love the video production
I've mostly been learning/practicing my French.

My wife is due to have our first child in six weeks and she is keen for our children to speak French and English.

Besides all the benefits of being bilingual, I mostly fear my wife and children will tease me in French with me none the wiser!