Planning a personal project

Ryan Altimari
3 min readJun 23, 2021

Over the past year, I have been attending Flatiron School's online coding Bootcamp. There are 5 portfolio projects along the way, and now that I am a few weeks away from finishing up I thought I’d share a few planning tips and methods I've picked up along the way.

After building the first few projects, I realized exactly how important it is to fully establish a plan before writing code. It may be difficult, I know I was excited to jump in and start to figure things out on the fly… but having something to reference and guide you along the way is critical.

Pseudocode

Pseudocode is a way to write out what you want your code to do in an easy-to-understand way. Once you have an idea of what you are creating, you can write out short statements to reference when you are actually coding. Here is an example of pseudocode for a function that adds two numbers.

input number a 
input number b
add numbers = a + b
display sum

Map backend relationships

Mapping out your model/db relationships can help keep your head on straight if things start to get confusing. draw.io is a great resource for this, as it lets you visually map everything and gives you a good reference point.

With rails projects, I would list out the model, attributes, and relationships for each.

Here is a screenshot of part of a diagram for a previous project of mine, on the left, I have the controllers listed. Then you will see the models, attributes, and relationships of a few of my models.

Do your research on libraries

These can be ruby gems, npm packages, or any other libraries that could be useful. Spend the time to look online for things that may be of use, a LOT of these can make your life a lot easier, and finding the perfect package after you spend a few hours coding can be quite a frustrating experience.

Wireframing

Wireframing is another great way to create a reference for yourself during the design portion of your project. You basically design a simplified version of your front end, so that you have a starting point for your real front end. One great resource for this is figma, Here is a picture of my figma wireframe, and what the real application looked like. You will see they are not exactly the same, but it still helped a lot while designing.

Manage your time

Time can easily be your friend, or your enemy based on how you manage it. The key is to find the sweet-spot between overdoing it, and not getting enough done. Sit down during your planning fase, and take the time to see when you need to be complete. Then try to separate all of your tasks out and to to spread them evenly, If you try and fit everything in one day or block by hours it may become overwhelming or confusing at the end. But if you fill each day with a few small wins, that you can realistically complete it will keep you moving forward at the necessary speed. You can obviously work on your projects and whatever pace you find comfortable, this is just what I have found the most success with.

Summary

While projects can be stressful, overwhelming, and can get confusing sometimes. It is one of the most satisfied feelings in the world upon completion. Nothing quite compares to building something from a completely blank slate, and creating something beautiful and functional to show off at the end. There are many resources, tips, and tricks and this post only shows a small percentage of what is out there, but hopefully that is enough to help push someone in the right direction. Good luck, and happy coding!

--

--

Ryan Altimari

Full-stack Software Engineer sharing my journey in the industry. Join me as I tackle new concepts, projects, and languages one article at a time.