Ryan Hughes

Frontend Developer with passion about development, technology, and coffee that sparks ideas. I love bringing digital projects to life. 🚀☕

About me

While I’ve only recently begun developing web-projects on the internet, I’ve been programming in some capacity or another since 1990. My professional career so far has been in the commercial construction industry and I’ve kept up my passion for programming in large part as a hobby with an occasional use-case at work here and there. I learned construction by doing, and similarly have found that I make the most progress in programming by making functional things like this website. It’s not the first one I’ve built, however, it’s the first one that hasn’t been drag-and-drop and I’m enjoying learning to use ASTRO framework to build it.

My Beginnings in Programming 🖥️

I can honestly say, I first started programming at 5 years old - starting with BASIC on the Commodore 64 (TM) we had in the living room, complete with a dot-matrix printer and external 5 1/2” floppy disk drive. In highschool I followed a few tutorials to build a shell game and some other otiose programs on it but by then, we got a Dell(TM) desktop at home and all the schools had computer labs chalked-full of iMacs. I built a web-site in Adobe Dreamweaver for a school club and wrote a few Quake mods for use at the occasional LAN-party in the late 90s and early 2,000s. I got nowhere with a book on Java in my 20s and finally re-kindled my interest in programming in my mid-30’s starting with Python. It was the perfect language for me to build with and felt very fast to learn. For me, it was like a rosetta-stone to understanding the many other languages and programming paradigms and allowed me to proto-type and debug quickly.

Real-World Use-Case #1:

def LabeledGroupedListOfClashes([clash instances], lables) -> [List of [groups of clashes]]

I’ll make a post sometime explaining this in more detail, but essentially, I made a plugin-tool for NavisWorks (software that combines mutliple 3d models into one and can identify where they overlap, or “clash”) to sort, group and label the thousands of clash instances that are generated from the models in order to speed up our ‘coordination’ process. I had already been involved in two other construction projects that required this process and noticed how the ‘BIM coordinator’ had to spend countless hours doing this manually. Today, there are many trivially low-cost plugins on the Autodesk marketplace that do this (I presume) but at the time there were none. It worked well enough to keep our project on-time and contributed to the fact that the steel structure was able to be constructed with no issues and sped-up the rough-in process considerably. I still have the source files somewhere and I seem to remember it involved IronPython which was a challenging and fun stretch for me to develop and implement on top of my somewhat limited experience with Python up to that point.

Real-World Use-Case #2:

Construction Specifications Parser 💡

def ParseSpecs(specs.pdf) -> {structured data}

This also deserves its own post, but in a nutshell: at a core level, large commercial construction projects are a result of very detailed construction documents and a contract. A part of the construction documents is called the project manual or ‘specifications’ which lists all of the desired materials and qualifications of said materials and the methods of installation for basically everything that is a component of, or installed in the building or project site. The specifications (manual) is usually hundreds or thousands of pages long and when it is published for public bid, it is produced in .pdf format. I’ve developed a minimal program that will take the manual and attempt to extract structed data from it in order to process it and facilitate the rest of the project from bidding to completion.

Lately: Home-Lab 🏠🔬

I got some early experience back in my ‘LAN-party’ days building and upgrading desktop computers and components (primarily for gaming). A couple of years ago, I rekindled that skillset and built a desktop for my home studio for my music recording projects using Studio One. Most recently, during my time-off between jobs, I built a few more and installed various versions of linux on them and re-vamped my home networking a bit. I’ve set up a dedicated media server with OpenMediaVault creating network fileshares for family photos documents and (separately) for my wife’s business. I built another one for private LLMs running Open Web-UI and various docker containers for proto-typing and exploring. In fact, I almost self-hosted this website but after some thourough review of the modern internet landscape and guidance from some of my most-frequented forums, opted to develop it locally using Astro and push it to Cloudflare via ‘pages’ synced to a github repo. 🚀

What’s Next… 🚀

I’m going to contiue building out this web-site, begin my blogging journey, and try to create some content that is both enjoyable to read, and also informative. I hope to eventually create something to give back to the technology community or to advance the construction industry into the modern era.

I’m Ryan Hughes, and I thank you for reading this.

Let’s Create Amazing Things! 🚀

Experience Work

  1. Entrepreneur

    Solo

    I'm working on this blog, maximizing quality time with my family, and exploring new opportunities. My focus is on creating valuable content and building a community around shared interests.
  2. Vice President, Estimator, Project Manager

    Andy Johnson & Co., Inc.

    View Website
    I led the estimating department, managed projects, and oversaw a team of project managers and superintendents. My role involved strategic planning, client relations, and ensuring project success from inception to completion.
  3. Superintendent, General Foreman

    Forma Construction

    View Website
    I oversaw construction sites, managed teams, and ensured projects were completed on time and within budget. My focus was on safety, quality control, and effective communication with all stakeholders.
  4. Laborer

    Various Construction Companies

    I started my career in construction as a laborer, gaining hands-on experience in various roles. This foundational experience taught me the importance of teamwork, safety, and the intricacies of construction processes.

Stack Technological

Ready to take your idea to the next level? Let's work together.