Juan Cocina - Software Engineer

About me

About Me

Who am I?

I am a Computer Science Graduand from California State University, Fullerton.

I found my attraction to CS having grown up with video games, consoles, and computers. Having spent time outside of school, my current goal is to merge my passion for audio with my desire to code.
I don't where this path will take me, but I know I'm not afraid to fail.

I believe one of my strengths is musical creativity; its what I love. My current challenge is looking for projects that allow me to express that part of myself. I recently developed a Random MIDI Singal Generator using the JUCE Framework. I took some time, but I got it done. That was probably the most interesting coding project I've ever done, including school projects. I want more of that. I know my coding skills are not the sharpest, but I believe my persistence and willingness to try make up for that (in my opinion).

Usually, I prefer Visual Studio or VSCode for any coding in HTML, CSS, JS, and C++. When I work with Python, I found that I prefer PyCharm.

My personal goals remain the same; invest time in myself and my projects. My professional goals have changed, however. I would like the opportunity to work on VST Plugins, DAWs, or standalone audio projects. As well as try to make a horror game, or music for a horror game. I think that would be fun.

I should probably also change the profile picture here, it's pretty old.

Picture of Myself


Skills

Coding Languages

  • C++
  • HTML
  • CSS
  • Python
  • JavaScript
  • SQL
  • Professional Skills

  • Work well with others
  • Can communicate wants/needs properly
  • Punctuality & Time Management
  • Experience in the Customer Service Industry

  • Spoken Languages

  • English
  • Spanish
  • Other Skillsets

  • I have a side project where I create original songs under genres like techno/house music. I work well with FL Studio, Ableton, and digital synthesizers.
  • I work well in Adobe Photoshop and Premiere for side endevours.
  • I can play: Guitar, Electric Bass, and can DJ.
  • Older Projects

    DnDEZ

    This was a group project that I worked on for my Software Engineering class (CPSC 362) called DnDEZ.
    Most of my work here had to do with HTML, CSS, and JS, which you can see below.

    Here's a quick showcase

  • How to Play page:

  • This page is primarily made up of text, with a few CSS styling options to make everything look clean. The purpose of the page is to help the user understand the rules of Dungeons and Dragons, which I had to research/understand before putting it down for others to learn.

    howto-gif
  • FAQ page:

  • A simple, refined, and stylized summary of what DnDEZ is.
    My job with this was to take some FAQs, and stylize them to go along with the rest of DnDEZ.
    I like the way this page has a sort of "flow" to it. The transition between left and right placed text makes the page feel properly styled.

    faq-gif
  • Adobe XD Design:

  • Here is what the original design looked like.
    Adobe XD makes it easy to put an idea together fairly quickly, and even allows you to export them as HTML.
    Here I learned not too hold onto ideas too tightly. As projects grow and evolve, things can change, and you have to adapt. Even though the design I made wasn't used, I'm happier with the look of the final product.

    There was much more to this project that might overtake this page, so
    Here is a link to the GitHub page:

    GitHub

    The following are some of the projects I've uploaded onto GitHub

  • Stand Up!
  • Simple Python script I made to remind myself every hour, at the 45 minute mark, to stand up and stretch. Using AppleScript inside of the python file, it sends notifications to my mac desktop, along with a shell script that is automated to run the python script on boot. Any future iteration would include removing the spinning cog wheel at the top of the menu bar, as seen in the screenshot.

    The windows version is something similar, it sends a notification to my desktop, but it uses a batch file alongside Windows Task Scheduler, to run the script on boot.

  • Scheduler
  • This is my current ongoing personal project.

    I came up with the idea of a web app that would help me be more organized with my day. The back end currently works with HUG API to create end points, SQLite for a database, and a few python libraries to assist. The idea here was to add "tasks" to a database. The database would be scanned once when I boot my pc and use the schedule library to create jobs for the python script to do. The job itself will call pythonsms.py, which would then send a text to my phone, reminding me to start on a new task.

    This is still a work in progress that I hope to complete before the end of summer.

  • Sin Wave Generator
  • This was a simple quick sin wave generator I created using the JUCE framework, following a few of their tutorials. The framework (and this project) is based around C++. Their Projucer makes it really easy to work with XCode (and other IDEs) to get everything running properly. This was pretty fun and intuitive, but now I have an idea for a sequencer that I might start soon...

    As you can see in the screenshot, there is a volume, frequency, and duration bar which you can move to hear a specific sound.

  • React.js "Dojo Blog"
  • This is a fully functioning blog that can add, delete, and navigate through different blog posts.


    As part of my ongoing effort to learn React.js, I found a wonderful tutorial published by The Net Ninja on youtube. It covers useStates, fetching, hooks, onClick events, and more.

    I also learned about JSON Server, which can hold JSON Data in a file, and serve enpoints to your front end. Here you can make GET, POST, and DELETE calls that are later reflected on your site. I figure this is very good for testing, but not so much for a public site.


    I'm hoping to use what I've learned here to finish the front-end of my Scheduler project.


    To the right you can see what the finished product looks like. And here is where you can find the tutorial.

    Recent Projects

  • Random Note Generator
  • Simple C++ project made to mimic the Behringer TD-3's RAND button, but in text form. On the TD-3 synthesizer, clearing a pattern and then pressing the RAND button will generate a random pattern of musical notes with a random set of NOTES, TIES, or RESTS (within a two octave range). It really creates some weird and cool noises. I wanted to do this for myself. I thought it would lend to creative ideas and send some sparks flying. It did.

    Since I get to input the notes into my DAW or straight back into the TD-3, I get more freedom of going, "Oh this sounds good, but it would sound better if...". I can play around with it more.

    The code won't be uploaded onto github until I finish the next project...
    UPDATE: The code has been uploaded and can be found here.

  • Random MIDI Note Generator
  • This project is essentially an expansion of the above. I had finish the RNG pretty quickly, and thought about what else I could do. So I went in the direction of generating actual sounds. I fired up my Behringer Model D and got to work.

    This project is still in C++, but it runs on the JUCE framework. Even though I feel like it does most of the heavy lifting, I still had/have a lot to learn. The buttons, sliders, random number generators, and MIDI functions made both a challenging and smooth transition from a text-based executable, to a UI application. As of writing this, I still want to implement NOTES, TIES, and RESTS like the previous project. That can be something for future updates.

    ... Then I'll upload the code.
    UPDATE: The code has been uploaded and can be found here.
    Also, here is a video of it working.

    I look forward to learning more and expanding my portfolio.

    Contact Me

    Github: JuanCocina

    My Emails:
    Primary: juancocina1337@gmail.com
    Secondary: juan_cocina@csu.fullerton.edu

    Phone: 323-509-7821