Building an App with AI: Portland Heritage Trees on Android

Share

It's been years since I shipped an Android app. Back then it was JavaScript, Angular, and PhoneGap. This time I have one on the Google Play Store, and I didn't write a single line of code by hand.

This is also my first solo project that actually made it to the finish line - published and available to the public. No team, no client deadline, just me and an idea I saw through.

The Portland Heritage Trees app lets you explore over 300 officially recognized Heritage Trees across Portland. These are the old giants - some older than the city itself - that have been designated as living landmarks worth protecting.

I built the entire thing using Claude Code, and every unique tree illustration was generated with the /nano-banana skill.


Why Heritage Trees?

The Heritage Trees dataset is my favorite dataset. I've used it to try out new frameworks for years - it's the right size, has interesting data, and I actually care about the subject matter.

I've been involved with Portland's open data since participating in one of the city's first civic hackathons back in 2010 - almost 15 years ago now. The Heritage Trees dataset has been there the whole time, and I keep coming back to it.

Portland's urban forest is incredible. We have trees that predate Oregon statehood, trees planted by pioneers, trees that have witnessed the city grow up around them. The city maintains an official Heritage Tree Program, but the data was always buried in spreadsheets and government portals.

I wanted something I could open on my phone while walking through a neighborhood and discover what stories were standing right next to me.


The Claude Code Experience

This was my first real project built entirely through AI pair programming. No IDE, no manual coding - just conversation and iteration.

What surprised me:

  • Speed - Features that would have taken me days to figure out came together in hours
  • Learning while building - I understood Android architecture better by having it explained while we built it
  • Debugging together - When something broke, Claude could see the error and suggest fixes in context

It's not magic. I still had to make decisions, test on real devices, and push through the Google Play submission process. But the barrier between "I want this" and "this exists" got a lot shorter.


The Art: /nano-banana Skill

Every Heritage Tree in the app has a unique illustration. I generated them using the /nano-banana skill in Claude Code - a skill created by Ryan Endacott that connects to Google's Gemini image model (affectionately nicknamed "Nano Banana Pro" by the community).

Because it's a Claude Code skill, image generation was part of my coding workflow - not a separate process. I'd describe a tree species, iterate on the prompt, and drop the result right into the project without leaving the terminal. Same conversational loop as writing code.

The results have this hand-drawn, naturalist field guide quality that fits the subject matter. They're not photos, but they capture something essential about each tree.

Western Redcedar illustration generated with the /nano-banana skill

What's in the App

  • 300+ Heritage Trees with locations, species info, and historical significance
  • 132 unique species from all over the world
  • Interactive map for discovering trees near you
  • Offline-first design - all 386 trees bundled locally, works without cell service
  • Save favorites and check in to track your exploration
  • Free, ad-free, and private - no tracking, no accounts required

The Code to Muscle Connection

This might seem off-brand for a fitness transformation blog. But it's really not.

Walking is part of my fitness routine now. Getting out in the neighborhood, moving my body, exploring the city on foot. This app gives me a reason to walk farther, take new routes, and actually look up from my phone to find what's growing around me.

Building something that gets me outside and moving? That's Code to Muscle.


Try It

The app is live on the Google Play Store. If you're in Portland - or just curious about urban trees - give it a look:

👉 Download Portland Heritage Trees

Or check out the landing page: heritagetrees.codetomuscle.com


What's Next

I'm already thinking about walking tour features, photo sharing, and maybe some gamification around visiting trees. The foundation is solid, and adding features through Claude Code feels sustainable.

For now, I'm just proud that I shipped something. First Android app in years. First solo project that made it out the door. After 15 years of tinkering with this dataset, it's finally in the hands of people who might actually use it.

Next up: more plates on the bar, and maybe a watch app.


Related Post

If you're interested in how I track progress and stay accountable:
👉 Transparent Workout Tracking: Real Data, Real Progress

Loading stats...

65 LBS LOST down and still lifting. Follow me on Bluesky for real progress updates.