How and why I built Custom Project Management Tool

Published Jan 12, 2018

About me

My primary background is in project management in the IT field however I love to program. So when the two worlds can be combined for my work I enjoy every minute of it.

The problem I wanted to solve

I spent hours looking at a project management tool that had everything I wanted. I noticed that to be a freelancer you need several tools. A tool to communicate, one to track time, one to track tasks. I found nothing that really had everything in one.

What is Custom Project Management Tool?

I essentially built a project management tool from scratch. I created a database driven site on my website where it is protected through a login. I can log in and see all my clients and track tasks, projects, upload and store documents, chat with clients, and track my time. The system also allows me to provide a client with a login where it will only display their company info. This way they can log in and view open tasks, where each task is, the time I logged, and the documents. The client can also contact me directly as well. The time tracking also can be used as invoicing and PayPal is integrated into it. Lastly, if I wanted to hire people to manage clients I could create logins for them and assign them to certain clients and restrict areas. Those employees can also track hours where I can then use it to pay them.

Tech stack

I tried to keep it simple. HTML/CSS, PHP, SQL, javascript were the primary tools used. It is 100% mobile friendly so clients or myself can log in on any device to update projects and tasks. Session security makes it secure so that if you are not logged in you can see nothing. I use that same session security to limit access to only specific areas I allow via database permissions.

The process of building Custom Project Management Tool

I started with research and wireframe. I saw what I felt was good and bad for each tool and drafted a layout. From there I built the login and session key. I built the initial data model and began building out my end to begin tracking projects and tasks. Once I got everything I wanted I built the client facing. Since most of the pages are similar I copied much of the code and modified.

Challenges I faced

I didn't face many challenges. I had built similar projects in the past. The biggest concern I had was ensuring that everything I was adding was mobile friendly. Some of the aspects were larger tables, so I wanted to be sure the layout still worked well with phones (since this is mostly what I use, and many clients also).

Key learnings

I think while the concepts were basic, if you do not think of the end product first, the UI and the features would not make sense. A lot of the features were related so I had to think a lot about the flow I would actually use it. So from a technology perspective I wanted to do it one way, but from a business and logical approach I needed to do other things.

Tips and advice

Start with basic core features and add fancy widgets after. Don't try to overdue it initially until you have a foundation to set them on.

Final thoughts and next steps

I see this project as just a starting point. I built it modular so I can keep expanding. I plan on adding API and other connections to it. Bein able to add Google drive, Google sheet, a white board for drawing, possible screen share/video are the next steps I want to build and see how detailed I can build it out!

Discover and read more posts from Tyler Hutchinson
get started