Node.js / React Project using a 256


#1

Ahoy everyone,

I’m currently doing a coding bootcamp that’s wrapping up in mid-January. I’m currently knocking ideas around for my final full stack project.

I’m currently thinking of doing a fairly basic sampler/sequencer similar to MLR but far more basic with only the ability to either load samps to tracks (16 steps) and/or record samps to tracks. Then have the ability to play those tracks and cup them up in real time.

On top of that, have a graphic representation built in React with the same functionality. So to reiterate:

  1. Use the Grid 256
  2. Have 16 tracks made up of 16 steps
  3. Tracks are able to have samples loaded or recorded
  4. Each track of made up of one audio file is able to be chopped up in real time
  5. Same interface of the Grid, but built in React

My question is, is this possible with the current node module made for the grids? I’ve played with it a bit, mostly just went through the tutorial on how to use it, but not sure if I should go down this route in case things like recording audio etc aren’t possible (though I’ve search some modules and there are things out there that look like they’ll work).

Anyhoo, just wanna get everyone’s 2 cents who has experience using Node.js / React.

Cheers / Thank you!


#2

Advice from someone who likes to hire folks out of code bootcamp - pick a project that shows skills from the kind of job you want to get. You’ll have plenty of time to work on things that interest you but don’t align with your job goals on your own time, if you want to get into a job, think of that final project as your resume.

Ideal situation is a job that’s also what you want to do in your spare time :slight_smile:. That’s not always possible unless you’re willing to live your life in a way that does make that possible. There’s plenty of folks here that show that doing what you love can also put food in your mouth, so - you’ll need to figure out where you land on that spectrum. Anywho, make sure your project aligns with the kind of work you want to do long term. That’s the moral of my preachy unsolicited old man advice.

Good luck!


#3

Strongly agree with this! Hiring people out of boot camp can seem risky for recruiters. If you can demonstrate experience in what they use it will be a lot better. Also, you should totally do fun projects like this on the side, they will help you grow


#4

The node side will handle the grid interaction, not the audio. For the audio side what you want is possible with web audio


#5

My first corporate programming gig was achieved on skills I learned building the beginning of a sampling API in C for Linux’s JACK server (pthreads, liblo, libmonome, libsndfile) for use with my monome 256. You’ll learn a lot doing this sort of thing… but it was a fairly intense learning curve uninstructed/having not done it before so you’ll probably want to leave yourself quite a lot of buffer time to figure out the nuances. If the packages are there and you have a model in mind for implementation, I say go for it!

Good luck!

EDIT: for what it’s worth, I’m a senior backend server engineer. And from my personal experience hiring folks, being easy to interface on a human level is more important than technical expertise


#6

Ah, thanks for the advice.

I’m really interested in the backend of things, so anything Node.js and working with REST APIs. Do you think this project would be appropriate to showcase my backend skills? I may be working with someone who would most likely work on the front-end of things.

…also, any further advice for a (relatively old, 35 tomorrow) guy who is about to graduate a bootcamp?


#7

Yeah, if you can draw something from your work life from before Bootcamp, that can go a long way. These are rhetorical questions, not looking for an answer - but stuff that makes a difference (to me) - did you manage people? did you manage projects? did you work in a group? work with customers? All that is valuable experience, so make sure you highlight it.

From a code perspective - write tests, show you’re a software engineer instead of just a hacker (ugh, I love hackers, but folks that can handle all the bits and pieces of writing software in a group are who I want to hire). Be prepared to explain your code to someone. Why’d you make decisions you made? Ask for code reviews from people that will be honest with you. If you can, include the code reviews in your repository. Showing how you respond to feedback is a big plus. Be passionate about your project, but also be ok with someone telling you you did everything wrong and you should rewrite big chunks of stuff. You need to be like a doctor, sometimes you have to be rough with the patient to save it’s life.


#8

All really good advice, and yeah, I was in education where I taught 4th/5th grade and then for 2 years I had 7 elementary campuses where I taught adults professional development in terms of technology implementation in the classroom (I got really good at tying a tie and public speaking). Before all that, I worked at Apple doing techsupport via phone, email, and chat.

Anyhoo, I did create my portfolio using a website template because I’m just not that interested in design…is that something you’d look down upon? Should I revamp my portfolio and just create it from scratch?


#9

I love it when people have teaching backgrounds because they’re typically patient and ready to help their teams. If you have a chance to present at a local user group, that’s a great way to get in front of folks that might hire you.

No worries (from my POV, YMMV) about using a design template.


#10

That’s really great advice about looking for opportunities to present at local meetups/groups.

Thanks a lot for your input, means a lot.


#11

I’m a front-end dev–this project sounds really cool! Happy to help out you or your teammate on the react.js component idea however I can, feel free to PM. There are also a few open source web projects (teletype/norns api docs, maiden) that I’d be happy to help you or your teammate contribute to should you want to. Nothing back-end node.js that I know of right now–backend for the teletype docs is a python script/pandoc static generator. Maiden is a pretty simple api written in go.

I would second that using a template is not bad–even for a front-end dev candidate, I wouldn’t knock it if they used one. A lot of front-end (especially app) development these days is using templates and design systems (honestly why you choose a template/what you liked/didn’t like about it would be a great anecdote for a front-end interview). If someone had a very well-designed custom portfolio that would be a nice thing, though would definitely recommend reviewing with designer friends if you do that. I have seen some that have been major points off before…


#12

Agreed with the comments here about treating your final project like a resume. If you want to get hired working on backend stuff, I would try and make sure your project integrates with at least two external services, some REST service plus an integration with an auth provider (Google or GitHub or Facebook or whatever your poison is.) Bonus if the REST service requires tokens from the auth provider. Also demonstrate that you have an idea of how to deploy it to public clouds and scale it. Some bootcamps will cover automating cloud deployments, others might not. If yours doesn’t, try out some basic stuff on your own, and if yours does, stretch it a bit (take advantage of additional features and services, or try out a completely different provider.)


#13

I’ll second @jlmitch5 - if you are ever looking to hack on reactjs and/or a backend for fun (within the context of music/audio oriented stuff) the maiden app which is part of norns might be a place to start.


#14

I haven’t done any programming for grid interaction, but I did make a generative music web app using react, node and a web audio API framework called tone.js (highly recommended) as my final project when I graduated coding bootcamp a couple years ago. Also happy to help or answer any questions if I can.

I ended up working for an eCommerce startup, but I think when I was interviewing for jobs employers appreciated my creativity and that I was able to discuss the technical details of my personal project enthusiastically. The fact that it was a weird little music app was not really a hinderance for me personally.


#15

do you have this web app up somewhere?


#16

yeah - http://timbartonclark.com/drift_fm/

It’s pretty basic right now. I’ve been meaning to refactor and add more features but unfortunately don’t have much time for coding outside my job these days.


#17

very awesome! I just played around for a sec, the chords and melody lines fit together very nicely :slight_smile: I added it to this new web audio app wiki I’ve been meaning to start (happy to remove if you’d like, just lemme know)


#18

Wow, y’all have been incredibly helpful.

Thank you @jlmitch5 for the offer, I might just take you up on that.

@crim wow, your portfolio looks incredible and puts my projects to shame. Did you have coding experience prior?

@ngwese no norns here but looks cool.

@dewb ou, thanks for the clearly outlined specs on what i should include.


#19

haha I wouldn’t call it incredible myself, but thanks!

I had some experience making basic websites as a kid and later on doing online coding tutorials, but not much. I also spent some time after bootcamp updating some of my projects, which I would encourage you to do. Not only is it important to practice coding and put your best foot forward when showing employers your work, but some employers like to check github profiles to see if you’re pushing up regular commits.