I build digital archives and place-based websites for cultural, heritage & community organizations.

About

I'm a web developer and former teacher in Portland, Oregon. After years in the classroom and a Master of Education from Portland State, I moved into software, but I kept the part of teaching I cared about most: taking something complex and making it clear, usable, and genuinely human.



Today I build websites and digital archives for cultural, heritage, and community organizations. A community's history, collections, and stories need to live online in a way that's searchable, welcoming, and easy for a non-technical team to manage. My favorite recent project, the Albina Community Archive, does exactly that: a searchable digital home for the cultural legacy of Portland's historic Albina neighborhood.


I work in React, Next.js, Ruby on Rails, and Sanity, with a soft spot for maps and place-based storytelling. But the tooling matters less than the result; a site your visitors actually enjoy using and your team can actually run. If you've got a collection, an archive, or a story that deserves a better home online, I'd love to help.


Tools

  • Ruby on Rails
  • Ruby
  • JavaScript
  • Next
  • SQL
  • Django
  • React
  • Sanity

Selected Work

Albina Music Trust screenshot

Albina Music Trust

Cultural Archive

A searchable digital archive preserving the cultural legacy of Portland's historic Albina neighborhood.

The challenge. The Albina Music Trust holds a rich collection of photographs, recordings, oral histories, and documents tied to the Black community of Portland's Albina neighborhood. That history needed a public home online where anyone could explore the collection, and where the organization could keep adding to it without touching code.

What I built. A searchable, browsable digital archive that organizes the collection into donor collections, decades, locations, people, tags and makes it easy for visitors to discover material across the archive. Just as important, I set it up so the Trust's team can manage and grow the archive themselves through a bespoke CMS.

Why it matters. The archive turned scattered private collections into a public resource for researchers, families, and the community. A neighborhood's systemically buried history is now daylighted and accessible.

Stack. React • Next.js • Ruby on Rails. Live at https://www.albinacommunityarchive.org/

Ruby on Rails, React, Next.js

Sarita Posada screenshot

Sarita Posada

Business Portfolio

A clean, content-managed website for a creative professional.

The challenge. Sarita needed a professional web presence that looked polished and that her team could update independently.
What I built. A custom site with an editable content structure via Sanity so the content stays current without code changes. Fast, responsive, and built to reflect her brand.
Stack. Next.js • Sanity • Tailwind • Typescript. Live at https://www.saritaposadainteriors.com/

Next.js, Sanity, TypeScript

Ceci Gomez screenshot

Ceci Gomez

portfolio

A portfolio site built for clarity and easy self-management.

The challenge. Ceci needed a portfolio that presented her work well and is simple to maintain.

What I built. A responsive, content-managed site with [a clean editorial layout], structured so updates are quick and painless for a non-technical owner.

Stack. Next.js • Sanity • Tailwind. Live at https://www.cecidoes.work/

Next.js, Sanity, Tailwind

Also built, for fun