
Welcome!
My name is Tim. I'm a Senior Full Stack Software Engineer specializing in AI applications, Python, Node.js / Express.js, TypeScript / JavaScript, React.js, Ruby on Rails, and MongoDB / MySQL / PostgreSQL databases, with cloud infrastructure on Google Cloud Services.
I've implemented cost-saving self-service solutions for FAANG and fast-paced startups, and I'm skillful across all stages of the Agentic Software Development Life Cycle (AI-SDLC) and scrum/agile methodologies.
I'm a proactive communicator and strong team-player who continually expands my technical expertise. I care deeply about my users, polished digital experiences and bringing strong value to my team.
About Me
My background is in software engineering π§βπ» and environmental science π±. I enjoy learning about complex systems and their connections. I believe our well-being depends on a healthy relationship with both technology and ecology -- working together -- for us and for the planet π. I wish to be a part of meaningful projects with honest goals. In my free time, I like to explore my backyard in Washington, learn about new things, or be aimlessly creative.
Skills
- Agile/Scrum Methodology
- AI-SDLC
- Asana
- AWS
- AWS EC2
- Babel
- Bootstrap
- Chakra UI
- Circle CI
- CodeIgniter
- Confluence
- CSS3
- CursorAI
- DeepSeek
- Django
- Docker
- Express.js
- Firebase
- Firestore
- Flask
- GCP (Google Cloud)
- Gemini
- Git
- GitHub
- GitLab
- Google Cloud Services
- GraphQL
- Hacklang
- HTML5
- Iterative Delivery
- JavaScript
- Jest
- JIRA
- LangChain
- Load Balancers
- Material UI
- Mercurial
- Microsoft Teams
- MongoDB
- MVC Architecture
- MySQL
- Nest.js
- Next.js
- Node.js
- OpenAI
- PHP
- Pixel-Perfect Components
- PostgreSQL
- Python
- React Testing Library
- React.js
- Redis
- Redux
- Relay
- RSpec
- Ruby
- Ruby on Rails
- Ruby Version Manager
- Sass/Less/Scss
- ShapeUp Method (preferred)
- Sidekiq
- Slack
- Software Development Life Cycle (SDLC)
- Storybook
- Structured Output
- Styled-components
- Tailwind CSS
- Technical Documentation
- Terraform
- Test Driven Development
- TypeScript
- VertexAI
- Vite
- Vue.js
- Vuex
- Webpack
Projects

SquirrelStudio
A desktop studio for building generative music and visuals together, in sync. A piece is a single βSceneβ β one validated document describing the audio (tempo, key, layered synths, effects) and the picture (pattern family, palette, motion). Both halves share one clock and the visuals run off a live frequency analysis of the audio actually playing, so the picture breathes with the sound. Built with Electron and React, with Three.js (react-three-fiber) driving the visuals, Tone.js for synthesis. Behind it sits a NestJS API, and the Scene document itself is a Zod schema shared across the TypeScript monorepo, so the desktop app and the API agree on it by construction. In private development.

Frog Garden
A calm, Zen-influenced to-do app that turns getting things done into tending a small garden. Swallow your frog β the one task you most dread β before the rest of the list unlocks, then watch a bonsai grow through the day as frog friends gather at its base. Progress is rewarded organically rather than with scoreboards or streaks, alongside a focus timer, a raked-sand canvas to fidget with, and an end-of-day reflection. Everything stays on your device β no account, no backend, no tracking. Built with Next.js, React, and TypeScript, with Material UI re-themed into a muted, nature-inspired palette and Framer Motion for restrained, organic movement.
See it LiveView on GitHub
RoamGuru
RoamGuru is a travel planning and adventure management platform designed to help travelers stay organized before, during, and after their journeys. Create trips, manage packing and task lists, track readiness, build itineraries, review weather conditions, and capture travel insights in one place. The mobile app is built with React Native (Expo), while the backend is powered by NestJS, Firebase Authentication, and Firestore.

GearList
Gear management tool to help increase trip safety by allowing one to better prepare for adventures. Create gear lists, create gear items, add items to lists or lists to items. See gross list weights, and real-time pack weight. This tool uses VueJS and MuseUI for the front-end, and the backend is powered by Node/Express/Mongo.
View on GitHub
HikingTool
Hiking risk management tool to help increase trip safety, awareness and preparation. Allows creation of hikes along with estimated travel times, which was adopted into an algorithm from a backpacking book. Includes creation/edit and deltion of pre and post-trip experience reports. Powered by AngularJS on the front-end, and Node/Express/Mongo on the back-end. Developed concept, wireframes and built and deployed application.
View on GitHubFitness Tracker
Fitness tracking tool allowing user to record workouts and repeitions. Powered by Python 3 using Django with Bootstrap 4.
View on GitHub
Sock It!
Lightweight chat application, powered by Socket.io and ExpressJS. Allows real-time chatting with timestamp conversion for user timezones.
View on GitHubAQI Viewer
A small Rails app built during a wildfire smoke season: you save your city and the air quality number you personally care about, and the dashboard tells you whether today is over that line. Stacked with Hotwire, bcrypt, and PostgreSQL. Took 2 days to build by hand with custom stylings.
View on GitHubHow I Build
Last revised August 2026
I spend more time designing the harness than writing code. Specs, plans, rule sets and skills decide what the agents are allowed to do. They write and deliver, several at once, and the gates decide whether any of it ships. My work's moved toward architecture and review: shaping the constraints, reading what comes back, and tightening the harness when something slips past it.
The job changes shape. Most of my time goes to architecture, constraints and review β deciding what should exist and what should never happen β while several agents write and deliver the work under those rules.
Anything sizeable starts as a written spec: who it's for, what has to be true when it's done, what's out of scope. A planning pass turns that into ordered tasks.
It's also where the technical decisions get made. Stack, patterns, libraries, architecture. Settle them here and an agent has no room to invent its own.
- Spec Kit
- Plan mode
The leverage isn't in the prompt. It's in the constraints: rule sets saying what a project won't accept, and skills that hold a whole procedure so it runs the same way every time.
So I keep iterating on the rules. Each pass tightens what the agents can do, until the output comes back in the shape I wanted in the first place.
- Rule sets
- Custom skills
The rules are a growing record of how a codebase wants to be written. Its architecture, its technical decisions, its house style, all committed where the agents read them.
The better that record gets, the more often the first attempt is right. Less prompting, less correcting, fewer tokens.
- Rule sets
- Constitution
- Git
I run several agentic tools at once: Claude, Cursor, and parallel local and cloud agents.
A rule keeps both rule sets in parity, so I can switch tools mid-workflow. Handy when a quota runs out, or when one of them just does a job better.
Agents connect to GitLab, Figma, JIRA and Confluence and act there themselves. Moving ticket status, posting updates, writing the end-of-day rollup.
They run code review too, raise Slack alerts, and clear feedback before anyone stamps it. Once it's approved, merge trains handle the merge and the rebase.
Parallel and cloud agents, always. Each one gets its own branch and its own checkout, so they can't touch each other's history.
Branches and diffs stack where the work allows it, so agents build on each other instead of waiting in line.
- git worktree
- Cloud agents
- Stacked branches
Claude and Cursor mobile dispatch the tasks. Screen control gets me into a local terminal from my phone.
So planning, a feature, or a grooming pass can start while I'm out walking, which is usually where the better ideas show up anyway.
Gates are how quality holds. Linting, security and vulnerability scanning, container scanning, test suites, automated review, and agents that clear blocking comments and nits before a person looks.
Along with the harness, it's what keeps the code sound. Nothing reaches an environment without getting through it first.
- Linting
- Security scanning
- Container scanning
- Test suites
- Automated review
Infrastructure is Terraform. Written as code, an app stays portable between clouds instead of welded to whatever somebody clicked into one console.
Click-ops is out. Nobody remembers what they clicked, least of all across dev, staging and prod.
Where it lands depends on the job. Netlify for something small that just needs to be up, container instances on Google Cloud when it needs to scale or hold state.
Sharpen the harness, sharpen the gates, run it again. Fix the gap, write the rule, automate the step. Never repeat yourself in a prompt.
Add routines. Add connections. Build the connectors that don't exist yet. The job is spotting gaps in the flow and joining up the parts that still need carrying by hand.
- Rule sets
- Custom skills
- Scheduled routines
- MCP
Google's write-up of the same idea: the harness is what gives an agent the ability to deliver your vision, your preferences and your best practices. Google Research β Industrial Agentic Engineering
Recently Shipped
liveCommits, merges, and releases β straight from my public GitHub activity.
- personal_site_v3pushed to mainHow I Build: agentic methodology section, specced through Spec Kit (#106)
- personal_site_v3merged PR #106How I Build: agentic methodology section, specced through Spec Kit
- personal_site_v34 pushes to tk/agentic-showcasefeat(footer): show the last commit, linked and timestamped
- personal_site_v3merged PR #105Wash each stack chip in its technology's brand gradient
- personal_site_v3pushed to tk/chip-brand-gradientsstyle(stacks): lead the favorites label with a party emoji
- personal_site_v3merged PR #104Typography and visual pass: self-hosted fonts, fluid scale, stack chips, and four bug fixes
Toolkit
Working pieces pulled out of the projects β an estimator you can actually run. Less polished than a product, more honest than a screenshot.
Trip time estimator
Algorithm Β· 20179 miles with 4,000 ft of gain is a completely different day than 9 flat miles. Adapted from Rick Curtisβ The Backpackerβs Handbook: base pace, an extra hour per 1,000 ft climbed, rest budgeted per moving hour.
- Walking4 h
- Climbing30 m
- Resting1 h 8 m
time = (miles Γ· 2) + (gain Γ· 1000) + moving hours Γ 15 min
Minutes round up on purpose β on a trail, over-estimating is the safe direction. Original 2017 source
Estimates are for education and rough planning only. Trails, weather, and fitness vary β carry the Ten Essentials and your own judgment.
experience
π Senior Software Engineer
2024-Present - Major Education Provider, Seattle, WA
π΄ββοΈ Senior Software Engineer
2023-2024 - Ridepanda, Seattle, WA
π₯ Software Engineer
2022-2023 - Sana Benefits, Seattle, WA
π§βπ» Software Engineer
2019-2022 - Perficient, Inc., Seattle, WA
π² Software Engineer
2016-2019 - Sasquat.ch, Bothell, WA
π¨ββοΈ Web Developer
2015-2016 - Sesame Communication, Seattle, WA
βοΈ Web Developer
2011-2015 - SmartGuys Design, Seattle, WA
π I've been building websites since our family's Gateway 2000 P5-133 's Telepath 28.8K modem was connected to the web. I love expressing creativity through digital experiences, and believe that being a developer is a life-long learning journey full of challenges and growth.
Education History
Full Stack Web Application Development: Software Engineering
Coding Dojo
Full stack web development, from wireframes to deployment at the Coding Dojo.
Bachelors of Science: Environmental Science
The University of Iowa
Student involvement and study of natural sciences at The University of Iowa.
Awards
Received the Fearless Trailblazer award from a Major Educational Company in 2025.
Student recycling work lead to University of Iowa receiving $60,000 DNR grant and Iowa Recycling Association Best Practices Award.
Awarded student conservation Parker Gentry Award and $700 scholarship for my performance and group leadership during field work.
Reading
Currently Reading2
βClean Craftsmanship: Disciplines, Standards, and Ethicsβ
βNavigation, Sea State and Weather: A Paddler's Manual (Freedom of the Seas, Volume 1)β
2026 Completed3
βMaxaldingβ
βThe Beachcomber's Guide to Seashore Life in the Pacific Northwestβ
βCareless People: A Cautionary Tale of Power, Greed, and Lost Idealismβ
2025 Completed13
βVibe Codingβ
βStarting A Startupβ
βThe Clean Coder: A Code of Conduct for Professional Programmersβ
βChakras Beyond Beginners: Awakening to the Divine WithinββHands-On Guide to Google ADKβ
βSoul DNAβ
βQigong for Beginners: Chinese Healing Energy from Withinβ
βTaoism: Essential Teaching of The Way and Its Powerβ
βNative Wisdom: Seven Keys to Health & Happinessβ
βThe Mountain Is Youβ
βQigong Healing Meditations: Taoist Healing Exercises with Ken Cohenβ
βThe Wisdom of Mike Mentzer: The Art, Science and Philosophy of a Bodybuilding Legendβ
βEmotional Intelligence Habitsβ
2024 Completed13
βThe Art of Thinkingβ
βSimple SQLβ
βThe Courage to Be Disliked: How to Free Yourself, Change Your Life, and Achieve Real Happinessβ
βExtreme Ownership: How US Navy Seals Lead and Winβ
βSpeed Reading: Learn to Read a 200+ Page Book in 1 Hourβ
βDesigning Data-Intensive Applicationsβ
βUnderstanding Distributed Systems: What every developer should know about large distributed applicationsβ
βHigh-Intensity Training the Mike Mentzer Wayβ
βHow to Live on Twenty-Four Hours a Dayβ
βHow to Develop Self-Confidence and Influence People by Public Speakingβ
βCode That Fits in Your Headβ
βNaming Things: The hardest problem in software engineeringβ
βEngineers' Survival Guideβ






timknab.dev