News for hackers. Stuff that matters.

naiquevin

Re:Ask HN: What are you working on? (August 2026) on Monday August 10, 2026 @12:50AM (#49239311)
I'm working on my guitar practice app, Captrice[1]. Last week, I added an interactive metronome tutorial[2] in the app to help onboard beginners (quite a challenge). This week I'm planning to implement the long pending "device sync" functionality - currently it's a local-only webapp (it's all static pages; no backend server). So for the past couple of days, I've been learning and evaluating the existing sync solutions.

The app has been my long term side project for more than 2 years now. I've been playing guitar for more than 20 years, mostly as a hobbyist. It started as a personal project and I've got immense value out of it in terms of speed building and consistency of practice. I believe other guitar players can find it useful too.

A few months back I got a burst of inspiration to pursue it more seriously. After my last contract ended, I've been primarily working on it. Eventually I may go back to contract work again but for now I'm excited to spend dedicated time on it! Do give it a try, or share it with guitar players in your circle.

[1]: https://www.captrice.io/

[2]: https://app.captrice.io/metronome-101

Re:Ask HN: What are you working on? (June 2026) on Sunday June 14, 2026 @03:01PM (#48531252)
I’m working on my guitar practice app, Captrice https://www.captrice.io after a brief gap.

The last few months I’ve been reading a lot about neuroscience behind learning and practicing music and I’m fascinated by the subject. It has helped me realise why the app works for me, as well as my own mistakes that held back my progress for many years despite putting in decent efforts.

It was a much needed inspiration to continue working on it with a re-evaluated roadmap.

I recently wrote a blog post about it - https://www.captrice.io/blog/what-makes-captrice-work.html

Re:Automerge 3.0 on Thursday August 07, 2025 @06:08AM (#44822627)
I’m also interested in this. I have a similar use case, to implement “cross device sync” functionality for a local-only webapp. I tried out automerge but it felt like it’s meant for syncing data when multiple users collaborate, and not data sync for a single user who is expected to use only one device at a time (I could be wrong about this).

I have implemented a POC sync mechanism via central server and I believe it’s simpler as it takes advantage of certain assumptions about the app. I’ve yet to productionize it so I am interested in knowing if my understanding is correct or if there are other existing solutions for this use case.

Re:Ask HN: What are you working on? (July 2025) on Monday July 28, 2025 @08:59AM (#44710421)
Yeah, a generic tool could be useful. Thanks for replying. It gave me some ideas!
Re:Ask HN: What are you working on? (July 2025) on Monday July 28, 2025 @06:36AM (#44709368)
I've been building a desktop app on the side that addresses the problem of screenshots getting accumulated on disk over a period of time. It provides an alternate workflow for capturing screenshots, where the app let's the user select tags before taking the screenshot. Tags can be associated with actions such as "move to trash after 1 day", "delete after 7 days" or "store in /specific/location".

I have got the main functionality working and I've been using it myself in a crude way (using sqlite client directly for data entry etc.) for about a week. It was not meant to be a serious project to begin with - I just wanted to build something to evaluate Tauri for desktop apps. I am still not 100% convinced if such a tool is worth building, so the code hasn't been published anywhere. Do you care enough about "screenshots management and cleanup" to use something like this?

Re:Checklists are hard (but still a good thing) on Wednesday July 23, 2025 @10:14PM (#44666161)
Same here. I use checklists heavily for my projects.

I write them in (emacs) org mode in a way that I can “execute” them repeatedly. Have written about it: https://www.naiquev.in/recurring-checklists-using-org-mode-i...

Gerrit uses a “Change-Id” trailer with a unique value. When you “fix up” a commit, the commit SHA changes but the change id remains the same. That’s how it can identify different commits with the same change id as patchsets of the same change.

This is based on what I remember (haven’t used gerrit in a while), so it may not be accurate.

I used gerrit in my previous job and miss using it. Would definitely prefer it over GitHub which is more popular (and convenient of course, can’t deny that).

Agree about recording and listening to it. I also do it sometimes. My concern about implementing the record/playback functionality is that it may introduce a bunch of complexity considering it's a web app (permissions to record mic, browser compatibility etc, limits on local storage etc.).
I am going through the alphatex docs in more detail and looks like other stringed instruments and even piano are already supported.

Check this for bass guitar - https://alphatab.net/docs/alphatex/metadata#tuning

Check the example here for piano - https://alphatab.net/docs/alphatex/notes/#multiple-voices

Looks like it's already supported in Alphatex - https://alphatab.net/docs/alphatex/metadata#tuning. You will need to specify the following metadata in the tab editor

\tuning G2 D2 A1 E1 B0

If any one's looking for the answer to why it's not recommended to edit library imports - when you import collections from the library, you can receive updates whenever the collection author publishes a new version. These updates might include new exercises or improvements to existing ones. However, if you've made your own modifications to the collection, these personal changes will be overwritten when you update to the newer version.

It's mentioned on the faqs page - https://www.captrice.io/user-guide/faqs.html. Missed updating the link. Will push a fix shortly.

I am going through the alphatex documentation in more detail and chances are that any stringed instrument could already be supported. Checkout the tuning section - https://alphatab.net/docs/alphatex/metadata#tuning.

It might even work for piano as well, there's an example here - https://alphatab.net/docs/alphatex/notes/#multiple-voices

Thanks for reporting. I’ll check this.
I haven’t tried using it for bass guitar but I believe it should just work? I assume you want tabs for bass guitar. Alphatab, the tablature editor supports bass guitar and other stringed instruments too. I guess it even supports notation for drums/percussion.

For that matter, I think the app should work for practicing any instrument that can be practiced with a metronome if you ignore tablature (which is only for reference anyway).

For now I want focus on guitar as that’s my primary use case but I’d love to extend it for other instruments in future.

Yes, music notation is configured to be hidden as I felt it would take up extra space. But recently I myself felt the need for it when editing tabs that had triplets. Beams are not visible in tabs. Planning to add a button soon to toggle notation display.
> when I practice for more than an hour every day

> this creates horrible calluses on my fingers

I think both are good problems to have :-). Consistently practicing for more than an hour every day is quite difficult unless you are professionally into it. If you are able to manage it then that's commendable. And once the calluses are formed, it doesn't hurt as much. A downside of skipping practice for a week, besides the practice itself, is that the calluses go away.

No, it doesn't play the tabs. The primary use case to help with practicing something you've already learnt.

Import from Guitar Pro sounds like a good idea and the format doesn't seem to be proprietary based on a quick google search. Will explore further. Thanks!

Captrice works in a browser on an android phone. But honestly, it's designed to be used on a desktop/laptop with a keyboard as there are some handy keybindings/shortcuts for easily controlling the metronome while playing the instrument.

If you are specifically looking for an android app, I've only found one that comes closest - Instrumentive[1]. It allows tracking time for the entire practice session besides uploaded recording of the session. Whereas my use case is to track the duration of practice at every tempo. Trying to play for extended duration seems to work well for me in terms of building endurance and muscle memory.

[1]: https://instrumentive.com/

> Firstly, the tab for that exercise is long enough to need a scroll bar, and so I don't understand how one is supposed to play along with that tab to a metronome.

I agree, this app is not great for learning a piece of music but it works well for practicing an already learnt piece. This is how I have been using it for myself.

As I mentioned in another comment, the tab and the video are mainly for reference i.e. to answer the question what to practice. Earlier, it only allowed either a tab or a video. At some point I added support for both (because why not!) Looks like that's causing some confusion.

I like your idea of playing along with a synthesized sound in the learning phase, although I haven't tried it myself. I believe alphatab (the lib used for tablature) does support midi playback which could make it function like guitar pro. Need to see how much complexity it introduces (mainly related to getting both the metronome and the midi to play together, never tried it). Perhaps there could be two separate modes to keep things simple - a learning mode without metronome and a practice mode (same as current). Won't promise anything but will at least do a POC.

Thanks for the detailed feedback.

PS: The link you shared wouldn't work for anyone else, as it only exists on your device thanks to the local-only-ness. Have some thinking to do to make this more intuitive.

Captrice allows you to export an exercise collection. You get a json file that can be shared with others or copied to another device where it can be imported back into the app.

> AlphaTab is the star here

Absolutely! High quality stuff. I wasn't aware of the person behind the project. Thanks for mentioning it.

This is so cool. Loved the UI, simple and to the point.
I mean “deliberate” to be the adjective for “practice” and not “app”.

Thanks for the suggestion though. Definitely something to think about. I personally hate “opinionated” too.

Total noob as in yet to buy your first guitar? I’d highly recommend taking offline lessons from a local guitar teacher, at least for a few months. Some things are difficult to unlearn and relearn later on. This app can be used to practice the lessons the teacher would give you.
Thanks for the kind words.

> people try and give up a lot. If this can help some folks stick with it and become better understanding and practiced with their instrument, I hope that happens again and again and again

This resonates so much.

Thanks! Much credit goes to the Bulma[1] css framework, I guess. I am mostly a backend dev. I've just used bulma for the most part and tried to avoid anything fancy.

[1]: https://bulma.io/

Thanks for the feedback. I know the UI is not as intuitive as I'd like it to be for first time users. Multiple early users have told me that they expected it to either listen to them play or play back some audio. I am planning to record a small videos soon to clarify this.

> IMO the app would be cooler if it was simply the metronome app on a page. And if you want to track which song you are working on, then just add the ability to label a session. Could have a different mode for people who want it over videos, but usually when I'm practicing, I know the tab and am not watching a video while I practice.

The tab is mainly for (1) future reference, specially if you are creating your own exercises (2) sharing them with others. Sometimes I come up with short exercises myself that cover a specific technique or some picking pattern I am struggling with. Overtime I tend to forget those. In an earlier version, you could either add a tab or embed a video. But then I thought why not both! Feedback taken though, it should be fairly easy to make the tab/video section collapsible. Ability to label sessions in also on the roadmap.

Hello! I am the one behind this app. A friend who thinks I am not promoting it enough submitted it to HN (not complaining at all, thanks Aditya!).

I had also posted on the "What are you working on?" thread yesterday - https://news.ycombinator.com/item?id=43531684.

Happy to answer any questions.

Re:Ask HN: What are you working on? (March 2025) on Monday March 31, 2025 @02:13AM (#43531684)
I am working on a guitar practice app[1]. It's a metronome that captures speed and duration as you practice. This data can then be visualized. It's designed to be used on a desktop/laptop as there are keyboard shortcuts for easily controlling the metronome while playing the instrument, but otherwise it works quite well in mobile browsers too.

It started as a personal project a few months back. Since then, I have been using it myself, alongside building the functionality I need. Lately I have been working on polishing it up in order to put it out there for others.

Based on my usage so far, I've come to realize some good second order effects too -

1. having a list of exercises helps me quickly pick something meaningful to practice rather than noodling for most of the time.

2. At the end of a practice session, the total duration is just 15-20 mins yet it feels like quality practice. So now, even if I have just 20-30 mins of free time, I am motivated to squeeze in a quick practice session. Turns out, this is a game changer (at least for myself).

Feature wise, I'm quite happy with the current state of it although I have some ideas for premium features (if it generates enough interest). In the coming weeks, I am planning to switch gears a bit and focus more on marketing/promotion. I also need to play more, because ironically, my practice time has reduced in the last few weeks in the pursuit of "launching" it! Also, I've set a goal to publish one new exercise in the library every week until the end of this year.

[1]: https://www.captrice.io

Re:Composable SQL (Functors) on Wednesday January 29, 2025 @01:29PM (#42869097)
I've implemented a CLI tool[1] that tries to address similar problems with SQL as mentioned in the article: testing, business logic and re-usability. The approach is different though - you write SQL and pgTAP tests using jinja templates and the tool generates

1. SQL queries that can be used by the application code using libs such as yesql, hugsql etc. and,

2. pgTAP tests, ensuring that they test the exact same SQL queries that are actually run by your application

I haven't used it in a /real/ production setting though, so I'd still call it an experiment. But I have been using it in a personal project with a handful of users (friends and family). Most of the business logic is implemented in SQL so the queries are fairly intricate (CTEs, sub queries, multiple joins). Occasionally, I push some features/improvements/tweaks and I am able to do so with high confidence, which I believe is mainly thanks to pgTAP tests. I am quite happy with it so far although that's just my experience. Haven't tried it on a large project with many contributors.

[1]: https://github.com/naiquevin/tapestry

Re:Show HN: A tool for creating chord charts on the go on Friday October 04, 2024 @09:05PM (#41746933)
Looks really good. I've felt the need for such an app on more than one occasions. But I'll have to wait for the iOS version I guess (based on the other comment).

Aside: Following your github link led me to discover another one of your music related projects, harmony-explorer which seems quite similar to something I've wanted to build for myself.

Older »