Salvador Guerrero

Salvador Guerrero

Computer Science Engineer

Pragmatic Leader • AI • ₿itcoin • Cross-Platform • Open Source • Colorado, USA

/ About

🛠️ What I Do

Engineering Director at Trimble with 15+ years of experience, currently leading SketchUp's client engineering and AI initiatives across the organization. I build and scale high-performing teams, having grown an R&D center from zero to over 100 engineers. I ship cross-platform products across web, desktop, mobile, and XR. On the side I run ByteApps LLC, building Graffito and open-source apps for the Passport Prime hardware wallet.

⚡ Interests

Deeply passionate about Bitcoin and the Lightning Network — I build open source tools for the ecosystem, write about Taproot, PSBTs, and self-custody, and cover Bitcoin development, security, and Node.js on Medium. I also contribute to open source projects spanning cryptography libraries, game development, and cross-platform tooling.

🎓 Education

Engineer's degree in Computer Science from CETYS Universidad (2005-2009). Speaker at Phoenix Mobile Festival and Phoenix Mobile Technology Group.

💻 Technologies

  • JavaScript
  • C++
  • Python
  • Bitcoin Script
  • Solidity
  • Swift
  • Kotlin
  • Objective-C
  • Java
  • C#
  • Node.js

/ ByteApps

Products and Passport Prime apps I build under ByteApps LLC

Graffito

Permanent personal notes on the Bitcoin blockchain, composed, encrypted, and signed on your own keys. Native Mac, iPhone, and Android apps in public beta, plus a Passport Prime app that signs fully offline.

Bitcoin Rust Beta →

Apps for Passport Prime

Six open-source apps for the Passport Prime hardware wallet: Paper Wallet, BIP-85 seeds, PGP Keychain, Text Editor, PDF Viewer, and Image Viewer. Written in Rust, signed with the ByteApps publisher certificate.

Bitcoin Rust Passport Prime →

🧱 Pi Tunnel

macOS menu bar app that watches an SSH port-forwarding tunnel to a Raspberry Pi and shows which ports are open, one brick per port.

Swift macOS →
See everything at byteapps.com →

/ Tools & Projects

Apps, developer tools, and Bitcoin projects

🖼️ Coinceal

Hide Bitcoin in a photo — embeds encrypted Bitcoin key envelopes into official image metadata (PNG, JPEG, GIF, and more), with standalone offline-friendly web apps to generate, embed, and recover the keys.

Bitcoin HTML Python →

🔍 PSBT Decoder

Decode PSBTs and raw Bitcoin transactions visually, with script disassembly and security checks. Runs fully client-side.

Bitcoin HTML JavaScript →

🧹 Dustpan

Sweep Bitcoin from addresses, hardware wallets, and paper wallets into a single PSBT. Each holder signs their own inputs, then the tool combines, finalizes, and broadcasts. Formerly Join Bitcoin PSBTs.

Bitcoin HTML JavaScript →

₿ Bitcoin Gift Paper Wallet

A self-contained Bitcoin paper wallet generator that creates gift-ready Bitcoin bills as printable images.

Bitcoin Python →

🔐 PBKDF2

Online tool to test your Password-Based Key Derivation Function 2 implementation.

Cryptography JavaScript →

🔄 Base Encoder/Decoder

Not a typical char by char conversion. A proper base encoding and decoding tool.

Encoding JavaScript →

📄 Base64 Encode ⇄ Decode

Online tool to encode and decode Base64 strings quickly.

Encoding JavaScript →

📜 base58check.py

Base58Check implementation in Python for Bitcoin address encoding.

Bitcoin Python →

⏰ Computer Time

Track kid's computer time, tasks and rewards with Bitcoin via LNbits.

Bitcoin LNbits MongoDB →

🔧 svgc

Perform arithmetic operations within SVG files. The ByteApps logo was created using this tool.

SVG Archived →

🎨 UIGifImage

Adds GIF support in iOS. Open source library with 6 stars.

iOS Objective-C →

/ Blog

Technical articles on Bitcoin, security, and web development

May 2025

Bitcoin PSBT Builder

→
May 2025

Bitcoin Taproot Puzzles

→
May 2025

Bitcoin Taproot Hello World

→
Oct 2023

Free Bitcoin Transactions with LNbits

→
Sep 2023

Backup core-lightning and LNBits

→
Article

Add JWT Authentication to Node.js

→
Article

A Safer Way to Deal with Passwords

→
Article

Parsing POST Data 3 Different Ways in Node.js

→
Read more on Medium →

/ Games

Game projects built for fun and to teach my kids to code

🕵️ Impostor

Pass-and-play social deduction word game: everyone shares a secret word except the one player faking it. Fully offline, with on-device AI for generated words. Coming to the App Store.

Flutter iOS Android →

🎮 SpitBomb v2 Level Editor

Level editor and pixel art editor for SpitBomb v2.

HTML Editor →

🦄 Flappy Unicorn

Created this project to show my kids how to create a game really quickly.

JavaScript →

💣 Spit Bomb

2 player shooting game built in Java.

Java 2 Player →

🎸 Fun Keys

One player arcade game, similar to guitar-hero gameplay.

Java Arcade →

🧱 Metal Breaker

One player brick-breaker style arcade game.

Java Arcade →

/ Experience

Jan 2026 – Present

Director of Engineering – SketchUp

Trimble Inc. · Westminster, Colorado

Leading the engineering vision for SketchUp's next chapter — driving platform modernization, AI integration, and innovation across web, desktop, and mobile experiences.

Dec 2021 – Oct 2023

Head of Engineering

Trimble Inc. · México (Hybrid)

Led the establishment and scaling of Trimble's R&D center in Mexico, growing the operation from zero to over 100 engineers and technical staff.

Apr 2019 – Nov 2021

Engineering Manager – SketchUp

Trimble Inc. · Boulder, Colorado

Working on the next generation of SketchUp for innovative devices. Worked closely with Software Engineers, PM, QA, Scrum Master, and DevOps.

Mar 2017 – Mar 2019

Lead Software Engineer – SketchUp

Trimble Inc. · Boulder, Colorado

Worked on SketchUp Viewers for Android, iOS, HoloLens, and VR devices. Languages: Swift, Kotlin, Objective-C, Java, C#, C++, Python, JavaScript.

Apr 2016 – Mar 2017

Software Engineer – SketchUp

Trimble Inc. · Boulder, Colorado

Worked on the SketchUp C SDK and the SketchUp Ruby API for macOS and Windows.

Aug 2010 – Mar 2016

Lead Software Engineer – Trimble Outdoors

Trimble Inc. · Tempe, Arizona

Worked on Trimble Outdoors, AllSport, and Terrain Navigator Pro mobile apps.

May 2007 – Mar 2010

Game Programmer

Mexicali, Baja California, Mexico

Worked on a variety of games for feature phones. Languages: Java Micro Edition (J2ME) and Qualcomm BREW (C++).