I am one week in to a 6 week project to build a tech debt management dashboard. I have been working on the design for it this week and I thought it would be useful to explain how I take a large project and break it down into the actual work that I will do.
So let's start with a high level overview of the project to remind ourself what we are trying to build. The idea for the dashboard is that it would take tech debt issues from issue trackers, outage data from incident trackers, build and release data from CI/CD systems and some user provided data. All of this data would then be processed and the results presented in a dashboard with possibly a few views of the data in tables and graphs.
So with that very high level overview I then split that up into a few broad areas:
- We will need integration with a number of external services to gather data
- We will need the ability to sign up and sign in with some account administration functionality.
- We will need to gather and store the data
- We will need to process the data into a form which can be easily viewed in the dashboard
- We will need a way for users to view the issues so we will need an issue list view and an issue detail view.
- Ability to import and create issues manually as and when new issues come along
For each of these high level requirements there is a lot more detail to get into as and when we work on them but for now, we need to consider these at a high level otherwise we will get lost in detail and not make progress on planning the high level approach.
In addition to these high level requirements, the guiding principle for the design is that I want to make it as easy as possible to get the dashboard set up with all of the config, integrations and data it needs. We are trying to make people's lives easier and the setup should be a frictionless as possible. So let's apply that to the requirements:
- We will need an onboarding wizard to help integrate with a number of external services to gather data
- We will need the ability to sign up and sign in with some account administration functionality. When someone signs up they should go through the onboarding wizard.
- We will need to gather and store the data
- We will need to process the data into a form which can be easily viewed in the dashboard
- We will need a way for users to view the issues so we will need an issue list view and an issue detail view.
- Ability to import and create issues manually as and when new issues come along
Adding an onboarding wizard will help create a frictionless setup. Now I want to pick out a rough order for how I would work on these. This is not really set in stone and I could move things up or down as needed. I need to choose a starting point that will give me a good base to build the rest of the app from. For this app, I think that starting with the user auth and onboarding would lay a lot of the groundwork for the app such as:
- Having the authentication setup for the app
- Kicking off integration with third parties, storing the settings and credentials for these
- Storing the issues we import
- User account and team setup settings
Therefore I think I should proceed in this order:
- Week 1: User auth and Onboarding
- Week 2: Issue list screen
- Week 3: Issue detail screen
- Week 4: Outage data integration (includes processing of the data)
- Week 5: CI/CD data integration (includes processing of the data)
- Week 6: Manual issue creation
Progress this week
I posted on my personal LinkedIn account an announcement that I will be starting building Velocity Pilot and aim to get to 1000 users in 6 months. Posting from my personal LinkedIn account got more reach than posting from the company page for Velocity Pilot.
Other than one friend who has signed up, no-one else has clicked through to the website for Velocity Pilot from the post. Organic traffic to the website is very low at 1-2 views per day. Organic visits to the LinkedIn page has been non-existent since last weekend.
I have to admit it has been a bit tough this week and has made me start to question my decision of not paying for any ads on LinkedIn. I am going to experiment with video content from the VP LinkedIn page next week.
Retool
I have been using Retool to create mockups for the dashboard and had considered that I would use this for the first version of the app. However I have been designing more of the app this week and the app will need multiple OAuth integrations with 3rd party systems. This is theoretically possible in Retool using Retool Workflows (think Zapier -style automation) but would be very clunky. Therefore I have decided to ditch Retool for building the app. I will still use it for mockups and prototyping but I will code the first version of the app myself.
The tech stack I am going to use will be Typescript, Vite, React and React-Admin for the frontend. For the backend I am thinking of using Python, Poetry and FastAPI with PostgreSQL. I am also considering Supabase but need to see how that could cope with OAuth integrations.
Last weeks goals
Add another 100 engineering managers to my personal network
I have added 39 managers to my network this week. My strategy has been to send connection requests to my 2nd degree connections who I have a number of mutual connections. I am averaging 40% acceptance rate with this approach but the number of 2nd degree connections who fit the bill are running low. I will continue this next week but expect the number of connections to drop.
Get VP LinkedIn company page to have 150 followers
I had invited a lot of people in my network to follow the page but I still only have 9 followers. I had hoped that the personal post I made could generate more followers too. I had also thought that commenting on posts would drive more followers but that was not the case. I think if I just post more from the VP page and then repost it on my personal page I will get more. I think that once I have some of the app actually working I can post some videos of that and those might do better.
Comment every day on relevant tech debt posts on LinkedIn as Velocity Pilot
I did this for 4 days straight before deciding to stop. I was seeing that I was getting very low impressions on the comments I made and there was no increase in visits to the company page. It did take quite a bit of my time scrolling through LinkedIn to find good posts to comment on so I decided that this was not a good use of my time.
Goals for next week
- Complete basic app with authorisation and onboarding wizard
- Post a video on VP LinkedIn page of some of the functionality of the dashboard and then repost on personal. Does this approach increase follower count or signups?
- Add 25 more managers to my network
Tools used:
Retool - more mockup screenshots
Cursor - AI-supported coding
React-admin - low-code dashboard framework
Supabase - considering that for the backend, includes PostgreSQL, authentication and serverless functions
๐ I am building Velocity Pilot, a dashboard for engineers and engineering managers to help them explain the impact of tech debt on their work.
I am committed to building out in the open and will share progress on Dev.to. Including what is working and what is not working. Follow me as I go solo from 0 to 1000 users in 6 months. ๐
Top comments (0)