Portfolio

The following are some quick summaries to a handful of the projects I have worked on, where I am allowed to share about what I have done on the particular projects.

Uptech Studio

Co-founder Partner Investor Architect Staff Engineer Manager DevOps/Infra

Uptech Studio is a Product, Design, and Development consultancy that I Co-founded and operated for the past 8 years. It has three lines of business. Consulting, investing, and selling their own software solutions.

As you can imagine running Uptech Studio required wearing many different hats on a regular basis. I had to deal with all the normal complexities of hiring & managing engineers, as well as deal with the various business tasks in operations, business development, HR, etc. Additionally, I operated as the Architect & Staff Engineer for the entire company, and regularly consulted & contracted with clients to help them with their needs, ranging from strategic advising, team mentoring, architecting solutions, staff engineering, leading projects & teams, as well as designing, and writing software across a variety of different programming languages, frameworks, and technologies.

In terms of strategic advising, I participated in high level executive meetings to provide technical leadership and guidance to help provide necessary knowledge for executives to be able to intelligently steer their business. This has ranged from researching & reporting on technologies such as VR/AR all the way to providing insights into existing team processes & technologies. It has also included consulting around negotiations and integration with financial institutions and providing guidance based on a wealth of experience and knowledge in general.

While Architecting, Staff Engineering, & Leading Solutions, I architected solutions across a variety of different verticals. Everything from Fin-Tech to Fit-Tech. Most projects that I have worked on I ended up kicking off the architecture process, taking the project through the initial build out and launch all while providing mentorship and training along the way.

In terms of Specialized Knowledge/Training, often times clients need specific guidance or help around an area of technology that I have specialized knowledge in. For example a client might need assistance with designing a streaming protocol for their solution. They might need help with binary protocol implementations for integrating with different specialized services or devices. Their team might need help with testing, TDD/BDD, or maybe with learning a better Git workflow, or they just might need training on methodologies like Continuous Integration, etc.

Below are listing of some of the projects I worked on at Uptech Studio that I am allowed to talk about.

PrismLabs

Consultant Architect Staff Engineer

Prism Labs, a startup that provides the most accurate 3D body maps from a mobile phone camera, collaborated with Uptech Studio to develop a mobile Software Development Kit (SDK) and various services. The Prism Labs SDK enables developers to integrate sophisticated 3D body scanning capabilities and health metrics, such as body fat percentage and lean muscle mass, into their mobile applications.

I started out with PrismLabs by helping them address some complexities with their Mirror based Capture Device, which happened to be based on an embedded Linux distro. This rolled into architecting their backend services and helping out as a staff engineer. And then evolved into building proof of concept native iOS & native Android applications, in Swift & SwiftUI and Kotlin & Jetpack Compose respectively, to evaluate the viability of using mobile phones as capture devices. This eventually lead to architecting and helping implement mobile SDKs for native iOS and Android also in Swift and Kotlin respectively. This consisted of three separate libraries.

  • PrismKit - Device calibration, body detection, and state management
  • PrismUI - Graphics overlays, text alerts, voice guidance, audible alerts, & haptic feedback
  • PrismLink - Manage users, create scans, manage uploads, fetch reports

Beyond that I consulted and advised their executive team on various technologies.

FanInc

Consultant Architect Staff Engineer DevOps/Infra

Fan inc. is a revolutionary platform in the sports tech and fintech arena, helping college athletes connect with their fans. With recent changes in the law, college athletes can now make money from selling their name, image, and likeness (“NIL”). To date, the new NIL rules have only benefited a select few, top-tier athletes. Fan inc. saw the opportunity to democratize access to these new rules.

I architected the platform and lead the team to build and launch a platform enabling all college athletes to earn money directly from their fans, while providing a financial platform geared towards their particular needs and goals, focused on financial responsibility and literacy. Additionally, I contributed by writing the frontend Flutter & Dart (Mobile & Web) app, backend GraphQL APIs using Nest.JS (Typescript), as well as the Terraform to manage the infrastructure for the platform.

These efforts involved integrating with banking cores, identity verification platforms, money movement platforms, ledger systems, and more.

Pullwalla

Product Staff Engineer Architect

Pullwalla is a macOS, iOS, and iPadOS app designed to help developers have a single place to discover and manage the pull requests that they need to review across GitHub, GitHub Enterprise, Bitbucket, and Bitbucket Server. This is especially useful when you are on a team that is responsible for multiple repositories even if they are spread across multiple SCM services.

This product is my brainchild and as such I lead Product for this application as well as wrote the majority of the code for it. Originally I wrote it in Swift with AppKit, and then later in Swift with SwiftUI when we added support for iOS & iPad. Additionally, I also reworked the code base to use the Swift Composable Architecture to get a deeper understanding of the Swift Composable Architecture.

Git Patch Stack

Product Staff Engineer Architect

Git Patch Stack is an OSS command line tool that facilitates a Patch Stack based workflow with Git. Allowing you to free yourself from the constraints, isolation, & limitations of feature branches & join the revolution of developing & shipping software faster with small pull requests using Git Patch Stack.

Git Patch Stack is yet another brainchild of mine. Originally, I wrote the initial version of it in shell script wrapping the Git command line tool. This was a very early and minimal version I created just to validate the concept & the idea.

After deciding the idea had merit, I rewrote it in Swift and extended it with more robust features. After using this version across our teams we noticed some rough edges in terms of performance as well as identified some new features that we wanted.

To address these issues I ended up doing a complete rewrite of it in Rust. This is when it really started to take shape and started building its cult following. Rust has ended up being one of the best choices I could have made and has made it easy to maintain and evolve this project overtime.

KQED

Architect Staff Engineer

KQED is a non-profit public media outlet based in the San Francisco Bay Area of California, which delivers media and journalism through public radio, television, and online media. Uptech Studio built and maintains KQED's iOS & Android applications which are built with Flutter & Dart.

My role in this project was primarily as a Staff Engineer and technical mentor for the team. Helping largely with things like application architecture, best practices, code review, and promoting knowledge share.

Flutter Forge

Product Staff Engineer Architect

Flutter Forge is a library that facilitates building complex, state based, modular, composable, testable Flutter Components in isolation. I created this library & all the documentation to help the developers in Uptech Studio more easily create components that would be testable & composable, as these were areas we were seeing pain points in the various projects.

The following are a couple pages out of my notes where I was exploring and diagramming the library design as I was building it.

Flutter Forge Exploration Page 1 Flutter Forge Exploration Page 2

HarbourShare

Partner Architect Staff Engineer

HarbourShare is a super powered contract management platform. You can think of it like a more powerful DocuSign.

I had the pleasure of helping HarbourShare by building their Google Docs & MS Word extensions. This project had a refreshingly small scope in comparison to most projects I work on. It also involved coding in Google Apps Script for the Google Docs extension, which I had a bit of experience with but not a ton. The MS Word extension was written in some good old JavaScript.

NotaCode

Product Staff Engineer Architect

NotaCode is a macOS application that facilitates post-commit reviews in combination with GitHub. Interestingly it stores the review data within the Git Object store so that it is synchronized along with all the other Git data.

NotaCode is a brainchild of mine, as well as a solo project of mine. I actually built it because we had decided to experiment with following a pure CI methodology with a post-commit review process on one of our projects to attempt to increase throughput at the beginning of a project. NotaCode was the application that facilitated this post-commit review process.

Interestingly the majority of NotaCode is written in Rust with a thin macOS SwiftUI layer wrapping it. The interfacing between the Rust library and Swift happens through the C FFI. Swift's nice C interoperability made this relatively painless.

Gumleaf

Product Staff Engineer Architect

Gumleaf is a personal task management application for macOS & iOS/iPadOS built around the concept of daily standups and managing your tasks in terms of days. It also has the ability to export your tasks to a Slack format for sharing your daily standup with your team.

Gumleaf was again a brainchild of mine. Actually, it started as side project that my friend and I built together to get deeper into SwiftUI and try and find where its rough edges were. After sharing it internally with the Uptech Studio teams, it quickly became a daily driver for many of the employees. At which point the other Partners at Uptech Studio wanted to bring it into Uptech Studio proper.

Given it was my brainchild I lead Product for it, wrote a large portion of the code base, as well as continued to slowly fix bugs and add features to it over time. It is written in Swift with SwiftUI. Interestingly we never released it externally, other than sharing it with a few developers from various clients that saw us using it and wanted it. This was primarily because we at Uptech Studio had decided to focus our products around the same audience as our consulting services. So it has internally been a daily driver that we lovingly nurture over time.

It also helps give us an excuse to upgrade to the latest SwiftUI and try it out anytime there is a new release.

appfit

Staff Engineer Architect

appfit is a SaaS analytics platform focused on helping teams track the analytics that matter and contextualize them appropriately so that they can be used to help drive the business.

My role on this project was primarily as an Architect and Staff Engineer that was pulled in for help here and there. One of the areas I addressed was the analytic ingestion. In the initial versions of appfit analytic ingestion was handled by having an endpoint receive the analytic and then enqueueing a background job to handle the processing. This worked reasonably well until we started having issues with the background job management systems.

To address this I migrated to a Kinesis Stream combined with Kinesis Firehose to facilitate store of the raw metric events in S3 Parquet files so that we would be able to replay when needed (disaster recovery, bring back customer's metrics that lapsed payment, etc.) The playback required of course having someway to query the raw metric events to replay. For that I threw Athena on top of the Parquet files and then wrote a small library to facilitate the querying and replay of raw metric events.

The following are some of my notes and diagrams of my outlining this progression and some of the explorations I looked at during this.

appfit analytic ingest notes

The team built the mobile & web frontends of the application in Flutter and the backend of this application in Nest.JS and TypeScript, so I used TypeScript to implement the metric event consumer and the wrapped it with Docker for a controlled Lambda runtime.

RentPlus

Architect Staff Engineer DevOps/Infra

RentPlus offers a suite of tools to help renters build credit and improve their finances. Viva Equity approached Uptech Studio to help RentPlus launch a new debit card and fintech experience catered to the unique needs of their customer base. Uptech Studio helped Viva with user research, user experience, UI design, Flutter & Dart mobile & web front-end, as well as Typescript & Nest.JS backend development.

My primary role in RentPlus was Staff Engineering and Architecting the backend systems to facilitate all the features they wanted to provide. Given that this is a banking app this involved integrating with banking cores, transaction aggregators, and many other financial services. On the front-end Flutter side of things I assisted with mentorship, reinforcement of best practices, and facilitating cross-pollination across projects.

Invoy

Architect Staff Engineer

Invoy helps people take control of their health at home by applying breath science to the challenge of weight loss. During a phase of rapid growth, Invoy partnered with Uptech Studio, so they could divide and conquer. While Invoy focused on the science of breath analysis, building great hardware, and scaling an operational team, Uptech Studio took on mobile app design and development. We worked to deeply understand user needs and goals and created software experiences that highlight and complement the hardware and overall service Invoy delivers.

My primary roles with Invoy were architecting their backend systems as well as helping out as a Staff Engineer while our team was building out their backend services with their existing team as well as developing their native mobile apps in Swift and Kotlin.

Kinly

Kinly

Partner Consultant Architect Staff Engineer

Kinly was a Neobank specifically created for Black Americans.

I helped Kinly specifically with integrating their application and services with MX. I had previously integrated MX into other clients platforms and therefore was quite knowledgeable about their APIs and how best to do the integration.

My role was in architecting, planning out, and managing the integration which was performed by myself and one other engineer. I worked mainly on the backend integrations as their platform was written in Clojure, and I was reasonably comfortable with Clojure. The other developer did the majority of integrations in the React Native application.

In addition to this core integration of MX I also architected and built and normalized transactions service so that they could easily consume and process the transactions for a variety of different use cases.

Beyond that, I consulted and provided guidance to their executives on various technologies.

8i

Consultant Architect Staff Engineer

8i, is a cutting edge 3D entertainment company focused largely on the capture, transformation, and streaming of 3D holographic video.

I worked with 8i on a number of different initiatives overtime. For one, I consulted and provided the executives with guidance based on various technologies through the entire engagement. Beyond that I built a native iOS/iPadOS app in Swift & UIKit to control their mobile 3D holographic video capture rig. This involved strategically coordinating and initiating recording of the various cameras on the rig to perform calibrations, captures, etc.

In addition, I also worked on their native Swift & UIKit iOS application, Holo, which facilitated distribution of 3D holographic videos to users iOS devices while also letting them capture video of themselves in a scene with the 3D holographic video. Beyond that I added AR support, so users could place the 3D holographic video in their world using AR.

I also worked with their teams to build and distribute a binary SDK for iOS to facilitate others integrating 3D holographic volumetric video into their applications in various ways.

Additionally, I created a backend platform and native Swift & UIKit iOS application for them that enabled social media influencers to distribute their 3D holographic content to their followers as 3D holographic video or 3D holograms within AR.

Float

Float

Partner Consultant Architect Staff Engineer DevOps/Infra

Float is helping couples take charge of their credit by creating a unique service that allows them to easily share their credit profiles with each other and build good credit together. Led by a solo founder, Float partnered with Uptech Studio for a whole range of assistance with strategy, design, and mobile app development. Out of that collaborative work, Float won the SoCal Startup Day in 2020.

My role in the project was initially consulting on strategy and quickly turned into building out the initial version of the iOS application in Swift with UIKit, as well as its various backend services in Ruby, Rails and Sinatra. This included everything from helping negotiate contracts with credit bureaus to implementing the backend services which had to integrate with the credit bureaus.

As the project grew and the team for it grew I shifted more into consulting and helping with architecture, planning, and best practices.

AutoGravity

AutoGravity

Consultant Architect Staff Engineer DevOps/Infra

AutoGravity, was tackling a new way of simplifying and facilitating purchasing vehicles online, ideally via your smartphone.

I was brought in specifically to help train their backend Java team in terms of architecture, development, and testing best practices. After meeting those initial needs it transitioned into helping them setup their DevOps team and infrastructure to facilitate Continuous Delivery. This involved leading, educating, and writing tooling in Python, integrating with Rancher and Kubernetes, to support reaching Continuous Delivery. During the process of organizing this and driving it with their DevOps teams I continued to train and assist their various engineering teams.

Spireon

Partner Consultant Architect Staff Engineer

Spireon, is a fleet tracking and vehicle telematics company.

I helped Spireon with training and best practices around TDD and testing in Java, as that is the language their backend teams were using. I also helped them setup their infrastructure and processes to facilitate Continuous Delivery. Beyond that I ended up helping them move to Docker & Kubernetes for parts of their infrastructure.

Driveway (Farmers Insurance Signal App)

Driveway

Architect Staff Engineer

Driveway, was a company that was focused on providing a mobile application that could monitor your driving and then report your score to your insurance company to get discounts or other benefits for being a safe driver.

Driveway decided to contract Uptech Studio to build their native iOS & native Android mobile applications. I specifically, worked on building the native iOS application in Swift with UIKit. After building the initial version we then reworked the code to support theming for white labeling. Which eventually resulted in it becoming the initial version of the Farmers Insurance Signal App.

Acorns

Lead Developer Architect Staff Engineer DevOps/Infra

Acorns, is company focused on making it easy for everyone to invest and grow wealth. Even if all you can spare to invest is the change that is rounded up when you go and buy a coffee. This is accomplished through micro-investing.

I worked for Acorns from May 2015 to Nov 2016 as a Lead Software Engineer & Architect. One of my first initiatives after joining the company was evaluated the platform architecture & implementation for scaling shortfalls and stability issues. I put together a plan to address the identified issues and worked across teams to help them implement needed changes. This initial effort was largely to help eliminate the immediate scaling issues as they were just starting to grow. However, this ended up being a long term continuous effort to help them scale to millions of users.

In addition to the above initiative I lead the Found Money development team to architect, design, build, maintain & scale out Found Money within the Acorns platform. It monitors users transactions and invests money into users accounts on behalf of partnerships and affiliate deals Acorns had. So, as you shop for things the businesses you shop at end up investing back into you via Acorns. Found Money became one of the primary sources of income.

I also worked across all the engineering teams, Frontend, Backend, Data Engineering, and DevOps to help coordinate projects across the engineering organization, as well as train people on architecture and software development best practices.

ReachLocal

I worked for ReachLocal from July 2012 to May 2015 and across that time went from Senior Software Engineer, to Lead Software Engineer, to Staff Engineer/Architect, and finally to Engineering Director.

While an Engineering Director, I Directed a Software department consisting of 2 managers and 23 engineers in the US distributed across a number of physical locations as well as managed a team of engineers in India. I restructured the organization based on Conway’s Law and Servant Leadership. Empowered our engineers to strive for Moonshot Thinking and a Smart Creative mentality. Launched a SaaS product in 10 markets. Aided the department in iterating on their Kanban based agile process and development tools. Collaborated to standardize roles, define expectations, and communicate the theory behind our organizational structure so that engineers would have a clear path for growth.

While a Staff Engineer/Architect, I managed an existing architecture and piloted new REST based microservice oriented strategy for the SaaS infrastructure and product family. Also, provided detailed code architecture, mentorship and guidance to developers across the organization. Inspired engineers to spin up a centralized internal blog and discussion system as well as evangelized best practices and community standards. Educated engineering staff on Object-Oriented design principles and patterns at both the software and system architecture levels.

When a Lead Software Engineer, I led a team of software developers in architecting, maintaining, and expanding the ReachLocal’s tracking platform. This included modifying the platform to work globally as well as implementing anti-fragile architectural principles. Also encouraged the team to share what they learned with other teams and to build more tooling to make their jobs easier. This resulted in additional open source tools such as “Snapdragon”, “Pra”, “Capbot”. Beyond that, facilitated growing developers through the ranks of Junior, Dev, Senior, and Lead.

Finally, when a Senior Software Engineer, I mentored a team of developers in architecting, building and maintaining the ReachLocal’s tracking platform. Provided insight, wisdom, and led by example to expose numerous developers to the best practices and tools existing within the Ruby community. Evangelized BDD/TDD and peer review practices across the organization. Developed a number of tools to help facilitate the developer role within the company and obtained legal approval to release a number of them under open source license.

RealPractice

RealPractice

RealPractice was a company focused on helping Lawyers with technology.

At RealPractice I was a Lead Software Engineer, and lead a team in architecting, building, and maintaining a Rails SaaS application covering everything from website building, lead generation & management, to matter management & invoicing. We then generalized & white labeled this for other verticals. Beyond that I developed a Git workflow and trained team on it. Built jQuery plugins to ease maintenance of the platform. Built REST service for our iOS app. Designed and built a dynamic multi-branch CI server to support our push for Continuous Delivery. As well as drove the team to adopt BDD/TDD as integral part of our development workflow.

RippleTV/TargetCast Networks

RippleTV

RippleTV was an Out-of-Home Network found in Borders Books, Barnes & Nobles, Coffee Bean & Tea Leaf, etc. These screens were all run by a computer behind them that phoned home to get their scheduling for content as well as advertisements. These computers were called RDUs (Remote Display Units).

At RippleTV & TargetCast Networks I was a Senior Software Engineer and maintained and expanded a number of public facing Rails/Merb/PHP tools and services. Maintained backend services that managed scheduling, metrics, reporting, and content distribution to the thousands of Remote Display Units (RDUs). Maintained RDU software which communicated with backend services and plays content and ads on the screen. Developed REST based service using WebKit to capture sigalert.com maps dynamically.

Pliq

Pliq was a mobile advertising company specializing in live campaigns. I lead a small team to architect & build an SMS Campaign Management Platform with Python as well as designed and built a light weight WAP site framework to facilitate rapid development of mobile sites. I also built integrations with framework into Wapple.net allowing fully customized dynamic sites to be easily created.

The Aerospace Corp.

The Aerospace Corp. is a nonprofit government contractor that exists to basically be experts to provide objective technical analysis and assessment for government, civil, and commercial customers.

This is where I got started with my original passion, research and software development in the area of Computer and Network Security. While there I architected & developed Distributed P2P overlay networks, built network recon tools, intrusion deflection systems and internal exploit DBs. Beyond that I researched exploit implementation and the use of intrusion detection systems as a sensor based network. I also provided network security support for the NSA, DOD, US Air Force, etc. This involved writing software in C/C++, x86 ASM, Python, Perl, and JavaScript.