HTP!m Devlog 0: Planning, Logstics, Mockups, and Schematics

It’s been a while since I’ve written a blog post about any of my projects, but seeing as how HTP! and HTP!m are huge and complex interdisciplinary endeavours, I figured it might be interesting to author a devlog series on them. This is also a great way for me to continue generating literature to occupy blog space while not diverging too far from my focus; as this blog has grown, I personally find myself referencing old posts at an increasing frequency, so I think that this kind of content may be valuable for others embarking on similar projects in either ambition or content.

I’ve gained somewhat of a reputation locally as the guy with insane projects, but what audiences seldom see is the immense amount of work that goes into those projects behind the scenes. I believe that by talking more about my projects as I do them, emphasizing that I – too – am a fallible human just stumbling my way towards an end goal, can contribute more to the demystification and humanization of great, otherwise seemingly unreachable, outcomes for my peers.

Let’s start.

An Idea

Earlier this month, the current HackMerced crew was tabling on-campus at the university. They’d been raising awareness for their upcoming Local Learn Day and HackMerced events. When I bumped into them, I was asked if I could host an event for the upcoming Local Learn Day in early November.

In previous years, I had hosted “Hack the Power!” (hack a model solar panel array) and “Hack the Tracks!” (hack a model railroad), and just last March, I had hosted the “Hack the Planet!” prototype, each with great success and learning outcomes achieved; the goal was to get people breaking stuff. The obvious choice was to host “Hack the Planet!” again, though with the time frame I was given, I was hesitant to give a promise that I could potentially be unable to deliver on.

Thus, “Hack the Planet! mini” (HTP!m) was born. I’d planned on creating a more polished event than the prior prototype in March, learning from my prior experience and mistakes to create an even better and more awesome event, but in shorter duration and smaller scope than the grandiose full-scale vision of “Hack the Planet!”

Work began.

Planning and Logistics

“Infantry wins battles, logistics wins wars.”
- General John J. Pershing

When embarking on a great endeavour, I’ve almost always found it more worthwhile to put meaningful amounts of time and effort into the planning of the execution instead of jumping straight to the dirty work. Sure, it may not be as exciting as getting chopping and making right away, but believe me: it’s worthwhile; logistics, planning, and strategy pay dividends tenfold.

One of the great ways that I love to get organized is by using a notebook. I have a physical engineering notebook where I often scribble down my ideas in their most raw forms, diverging and going down rabbit holes as necessary and writing all of it down in one discombobulated cloud of free-flowing thought. I’ll draw schematics, block diagrams, flow charts, and everything else in-between and they’re almost always wrong and that’s okay!

I keep a Notion notebook online where I organize my life and projects, and in a pass over my borderline-illiterate chicken scratches on paper, I’ll translate my raw energetic ideas into my Notion pages in more organized and actionable forms. I’ll additionally use this time to do formal research, fact-checking, and verification. At this point, correctness matters.

I’m not sponsored by Notion, by the way. I just really like it.

For HTP!m, my planning phase was no different. I scribbled blurry and energetic thoughts down in my physical notebook and then threw it onto my Notion in a much neater format with correct, verified details.

I made sure to be as complete and concrete as possible, detailing what to expect, what materials are needed, the clear path forward, etc. If you do it right, you won’t need to do it again. For things that are out of my control or I’m waiting for info from others about (e.g. room and time reservations), I make sure to mark it as such so that it can be filled in later.

I can’t forget the materials and budget! Unlike the logistics page, this page is not at all set in stone and continuously changes based on my discoveries and experiments in prototyping. The format of the page, however, should be concrete.

This is important for keeping track of materials and inventory as well as keeping a written reference for any future budgetary reimbursements. As an added benefit, if someone reaches out to me about hosting their own HTP! (as people have in the past before), then I can give them a concrete idea of the magnitude of funding they need to secure. Documentation is important for so many reasons!

I often like to use an Agile-like project management framework for large projects with plenty of moving parts that involve external stakeholders. I just think it’s very logical and puts fancy schmancy names on common sense practices. I create tasks that are planned to take place during predefined sprints, try to complete them in their sprints, and then meet with the team and relevant stakeholders regularly to close out sprints, make sure we’re on track, adjust to stakeholder specifications, and plan and begin the next sprint.

It’s a very sane approach to project management. I plan everything out and although the individual tasks might change and new ones might be added based on discoveries, I believe it’s very important to establish a clear long-term strategy and direction for the people who operate under me to follow. The tasks might not be concrete, but the direction absolutely is.

I additionally like to keep a tabular view of the same content to visualize and organize it in another format.

The first HackMerced meeting was last weekend and I met the new crew. Since some of them are interested in working on this project with me – something I had initially anticipated to do solo – it’s more important than ever for me to be organized and clear in my communication and expectations for them.

I created a “Call for Hands” document to outline some roles that need to be filled, expertises needed, and activities to be done. This Sunday, the crew is meeting up again and I’ll have a final headcount of my team for HTP!m.

I’m excited to meet my HTP!m team this Sunday! We have a lot of work ahead of us and I’ve been talking to some interested crewmates over the past week or so and they’re really excited to get started. It’s refreshing and amazing to see so much interest and passion.

A Tangent About Leadership

I just wanted to take a moment to talk about leadership since if you’re reading this post with the intent of starting your own HTP!m, then you’re probably going to be leading a team. For big endeavours like this, it’s important you stay organized, logistically strong, and directionally clear. It’s important that you understand your own leadership philosophy and principles and work to empower your team to do something great.

I’m no stranger to positions of leadership: I run IrisSec with a team of 25 people and we obviously organize IrisCTF; I was a group leader at Willie Lewis Brown Jr. Youth Academy giving mentorship and direction to the exciting youth, leaders, and innovators of tomorrow; I used to run the Solar Energy Association and under my leadership, we reached peak membership of over 120 people; and of course I’ve led plenty rag-tag task forces for specialized purposes at least over half a dozen times by now.

I can totally acknowledge that the general reception around me in positions of leadership is favorable – no need for me to be deceptively modest about that, though it’s dangerous for any leader to say that they’ve “made it” since that’s a slippy slope into a position of immobility. We can always become better versions of ourselves so that we can make life better for the people who rely on us and for the people whose lives they affect. You have an immense responsibility to use your positions of power to make others’ lives better. This responsibility isn’t for the faint of heart and should not be taken lightly.

One of the things I emphasize as a leader is what I like to describe as an “inversion of power.” As a leader, I serve the people who rely on me, not the other way around. Someone who’s on my team is on my team because they WANT to be there, and they WANT to take part in furthering our mission and goals. They’re not on my team because they wanted to operate under me; I just happened to come with the deal. As such, my goal is to enable, equip, and empower my teammates to achieve our common mission. They don’t work for me, I work for them.

This means listening to their needs, ensuring they have access to the resources they need, providing them with clear guidance and direction, teaching and equipping them with essential skills, mentoring them at a close level to ensure their personal success, and everything else in-between to ensure their success both in the project and at a personal level. Our teammates are relying on us, looking to us for direction and empowerment, and it’s our responsibility to answer their call. I understand it’s a bit unconventional, but that’s a philosophy I live by: leaders are below their team, not above.

Some of the best managers I’ve ever had were when I was working at UC Merced Extension and Willie Lewis Brown Jr. Youth Academy. They listened to me, made sure I succeeded at both a professional and a personal level, provided me with all the resources I could have asked for, empowered me to achieve, and even acted as an abstraction layer between myself and the organization so that I could focus solely on my projects and they could utilize their familiarity with navigating the institution.

Throughout my education, I’m lucky to have had amazing teachers and mentors who pushed me to succeed. Working at Extension and Willie Lewis Brown Jr. Youth Academy previously, I’m lucky to have had amazing leaders who empowered me to achieve. When I’m in a position of leadership nowadays to work on an awesome project or event, I see it as an opportunity to pass it on. It’s this cycle of empowerment that brings us to make the world a better place.

Anyways, I’ll get off my soapbox now.

Architecture

At a very high level, the idea is to have the cloud host the challenges and platform infrastructure, an on-premises HTP! CORE unit orchestrate in-person elements and serve as a direct link to the cloud infrastructure, and an HTP!m CONTROL unit receive commands from the HTP! CORE to update and maintain the status of the actual model city. The model city is divided into modules, each with an HTP!m MODCORE installed to receive commands from the HTP!m CONTROL and control electrical elements in the model city.

For the model city, each module is 13” x 13” and we’re planning on having 2 x 4 modules in the layout. The frames for each module are just picture frames since a factory can admittedly get higher precision and consistency than my ham fists can.

Mockups

I got a few mockups done! Here’s the mockup of the HTP!m online platform:

I had a lot of fun doing this. I think that properly learning a design/mockup/wireframe tool like Figma has been an absolute game changer for me. Not sponsored by Figma, I just really like it.

I also got a mockup done of an HTP!m CONTROL unit which, to give you an idea, will be built in a box that looks like this:

Schematics

I got a prototype done of the HTP!m MODCORE, which is really just an overglorified microprocessor with 2 shift registers to convert serial commands from the controller into up to 16 maintained power lines, plus providing a power distribution network for up to 12 Volts for the railroad. It’s still super rough and I still need to make the PCB for it so I can put the order in with a manufacturer and receive the PCBs in time. I have a working breadboard prototype already, but I’d still prefer to get it done sooner rather than later.

It’s rough, I know. I gotta clean it up before the end of this week.

Conclusion

Well, that’s all I have for now! More devlogs to come. Until next time,

Happy hacking!