Portfolio

I’m drawn to problems that sit somewhere between chaos and possibility.

The projects below started as ideas, processes, or workflows that were difficult to manage, difficult to scale, or difficult to explain. By combining technology, process design, and documentation, I transformed them into solutions that could run more reliably and create more value.

Summary

TL;DR

01 - FULL APP + AI Workflow Engine

Language Learning App

When I first started learning Japanese, I tried many systems that exist and struggled with all of them. This project was built out of a belief that there had to be a better way for beginners to learn languages. There are some pretty good tools for intermediate and advanced learners, but the beginner tools were either too grammar-focused or too based on rote memorization, both of which have been shown to not be good methods for language learning. I decided to see if I could solve this problem as my Minerva University Capstone (thesis) project.

This project started with researching how people actually acquire a second language, doing a gap analysis of current tools, and turning the results of this into a full system for learning languages for beginners.

The app walks users through a multi-modal learning flow allowing them to interact with the content in the most effective ways to trigger the brain's natural language acquisition process. This flow, combined with a Free Spaced Repetition Scheduler (FSRS), allows beginners to pick up the language efficiently.

Another important feature is the language review system. Most language apps rely on static content libraries for review. You study the same content that you learned. I wanted to use AI to produce review content that put only words that the learner has seen into novel sentences for review. This change of context allows the words and structures to be learned at a deeper level in less time.

What I Built

The main app in this project is a Python/Django application that users interact with, but I also built a series of n8n workflows that control the AI calls to ChatGPT. This allows for separation of concerns between the app and the AI workflows. N8n allows for validation loops that check the results of the AI generation against specific measures to make sure that AI content is good and reliable.

The main app implements the main learning flow, which can be seen below:

The app uses the card analogy to represent learning tasks. Each day, a series of new cards are learned with new content, and any previously seen cards that are ready for review are shown to the learner, asking them to engage with the content in some way, such as reading, shadowing, or typing the content.

Below is one of the n8n-flows that I built. This one fills in the translation, romanization, and hiragana (for Japanese) of the content that the user wants to study, and includes checks to confirm the results from the AI including response structure and whether the romanization is a reasonable match for the original content. Besides this workflow, I also have workflows for generating content explanations, generating audio, and creating the novel review sentences.

Each workflow:

  • builds a prompt dynamically

  • sends it to the model

  • checks the output

  • decides if it's usable

  • and reruns it if it isn't.

If something looks off, such as using the wrong language, missing structure, or inconsistent explanation, it doesn't get stored. It gets rerun with corrected context until it meets the rules or runs out of retry attempts (to avoid infinite loops on bad input data).

What It Does In Practice

What makes this app different is that it combines research-backed study actions using multiple modalities (which leads to stronger memory) with the flexibility that AI provides. This lets beginners study content at a deeper level, resulting in greater long-term memory.

Below is an example of the same content being presented in multiple ways, using the typing, speaking, reading modalities, respectively.

The multi-modal studying combined with the implementation of a free spaced repetition system for optimal review times is designed to give significantly better learning results than other language learning apps.

The app is still in development and not yet publicly launched, so the strongest evidence so far is qualitative. One early tester, three months after using it for only a week, put it this way: "What kind of magic is this? I still remember what I learned from testing your app for a week three months ago!" Durable recall like that, after minimal exposure, is exactly what the multi-modal flow were built to produce.

What I Learned From This Project

This project demonstrates many of my skills, including my ability to design and develop a working software application and to create workflows that use AI for both production and validation. This project gave me a chance to learn the effective use of n8n, a tool that I have continued to use for both professional and personal projects.

I also used AI during the building process, which allowed me to produce software in a shorter amount of time than I would have if I had built the application manually. I treated AI like a junior developer, making sure to review and correct all code that the AI produced. As I progressed with that app, so did my AI coding skills, going from just basic prompting to fully autonomous, PRD-backed development flows.

I also learned a great deal about how people learn better in general and learn languages specifically. This knowledge will benefit any learning-related projects I do in the future.

02 — Operations Automation System

Greenlamp Publishing Pipeline

When I joined Greenlamp, I was the first employee after the founder, so it was initially just the two of us. I was in charge of building out all of the systems in the business. One of the more complex systems was the publishing pipeline, which allowed authors to submit books for publication.

Initially, I was in charge of doing the process manually, with the first few books being very time consuming and high-touch. But this allowed me to learn the process steps needed, which I then turned my attention to automating as much as I could.

The end result was a process so smooth that anyone could have managed it, even someone with zero operations background. I quite literally worked myself out of the system.

Mapping The System

The first thing I did was map the entire publishing workflow end-to-end. This includes all touchpoints we had with both authors and our printshop, color coding them by actor.

Once the flow was visible, I could see better what needed to be built. The goal was to automate as much of the process as possible.

Building It

At Greenlamp, we used Go High Level (GHL) as our main systems platform and CRM. So all of the publishing pipeline workflows were built inside of GHL.

I started building from the top of the diagram and just worked my way down, testing each step as I went, using test accounts and extra emails to act as the authors and printshop.

This started with building out the two forms using GHL forms with all of the fields needed for the following actions. Then I set up the workflows that trigger from the workflow submissions, making use of GHL tasks for the human steps in the process. An example of part of one of the forms is below.

The main issue that I ran into with the workflow was steps when the author or printshop did not do their required steps in a timely manner, such as the author not clicking the approval buttons in the email or the printshop taking too long to get back to us with quotes or setup details.

To solve this problem, I created a process checking workflow that was part automation and part human tasks (such as looking for emails that bypassed the system). This process check was step by step and caught anything that had otherwise fallen through the cracks. These checks are listed in the workflow diagram above, but were not there in the very first version I did.

Once this checking was in place, the system became very robust and automated, and I prepared it for handoff.

Handing It Off

Once the system stabilized, day-to-day execution moved to a small support team. The support team just needed to follow the documented systems exactly to keep the system working. No need to figure anything out.

The system continued to run smoothly for the duration of my time at Greenlamp and through it, we were able to publish many books for our clients. Here are a few of them (including my own):

Why It Matters

With the pipeline in place, the business could finally take on volume it could not have absorbed before. The founder had deliberately held off on heavier marketing until the systems were proven to handle an influx of authors without anything falling through the cracks. Once the pipeline was reliable, he turned marketing on, and revenue grew from $10k a month in January to over $300k a month in July. The systems I built were what made that growth safe to attempt. The pipeline was the bottleneck that had to be cleared first.

This workflow was created without AI as this was built before there were reliable AI tools available. If I were to build this today, I would use AI to automate even more of the process, including:

  • Allowing authors to reply to emails instead of clicking buttons to move the process along. AI could read and respond to the emails and update the statuses correctly in the system.

  • More robust process checking. This daily review process could now be completely AI driven, allowing for less work to keep the system operational.

  • AI could be used to better automate the follow up processes, allowing the team to only come in to the workflow when absolutely needed.

03 — Team Planning Tool

Google OKR System

When I worked at Google, my main job was helping partners connect their systems to Google APIs. At Google Books, I was specifically in charge of the book review feeds. However, the project that I want to highlight here is actually my 20% project. (Google allows you to spend about 20% of your time on something outside of your job scope that can improve internal processes or potentially become a new product).

I have a strong interest in human performance and productivity theory and had taken multiple courses on it prior to my time at Google. But the way that the Google Books team ran the planning process was quite messy and went against a lot of what I had learned from the training. So I decided to take on fixing the processes as my 20% project.

Working With Existing Behavior

When I joined the team, they had a set way of planning that everyone was used to. I raised my concerns about the processes and my teammates were open to improvements, but had a couple things that they wanted to be sure to keep. Specifically, they wanted to keep taking notes during the initial planning meetings in a Google Doc like they always did.

Usually, this doc would become the final planning doc and they would just check in on it in the middle and end of the quarter.

What I Added

I wanted the team to be able to:

  1. See the priority of various projects and how they aligned with our goals easily and at any time.

  2. Improve how individual goals were set to limit the number of goals that we worked on at a time (since the team had an issue with scheduling too much and then not reaching very many of the goals).

  3. Focus on setting better goals where outcome goals are things that you are trying to bring about that you lack direct control over and process goals are things that you do have direct control over. This style of goal setting has been shown by research to be more effective.

To do these, I did two things. The first was to create a doc to spreadsheet to dashboard sync program that kept the planning doc and a spreadsheet that acted as the backend for a dashboard that the team could use to stay on top of goals better. The planning doc was used for initial planning and review meetings and the spreadsheet used for everyday work.

The second was to run a training about how to set more effective goals, based on what I learned from the various productivity trainings and research that I had done. This helped teach the team the difference between outcome and process goals and why limiting the number of goals at a time improves overall efficiency (because you reduce context switching).

What Improved

Within a couple of quarters, the team had the system running smoothly, and the difference in how we set and hit our goals was visible enough that leadership above the team took notice. I was asked to help roll the same approach out across all of Google Play's gTech team. I left Google before that wider rollout was finished, but being asked to take a one-team experiment org-wide was the clearest signal that the system worked.

It is also a small example of how I tend to work. I don't stay neatly inside my defined role. I look for the systems around me that are quietly costing people time and fix them.

04 — AI + Creative Workflow Experiment

Yuki Issei: 2.5D Idol

I participated in a group program in Japan that paired teams with Tokyo-based companies for a short-term consulting project. The project that we were given was to develop a 2.5D idol concept that used AI as much as possible in the production process.

A 2.5D idol is a music idol that has animated visuals with human vocals. We were asked to create an idol that had more of a Western focus, so one that could possibly release their music in North America instead of Japan.

The result of that was Yuki Issei, our 2.5D idol.

My Focus

We assigned each member of the team a different aspect of the idol to work on. My focus was on the music, including songwriting, production, and mastering.

I got good at using Suno to create and remix songs to use as our demo songs. It took a surprising amount of time to get a good production-worthy song from Suno. The process definitely wasn't just prompt and be done. I had to start learning a lot of music and music production to go along with this process.

I also explored voice cloning using Kits.AI and mixing and mastering using CryoMix AI.

The Challenge

Since we were making a 2.5D idol and not a full AI-based idol, one of the biggest challenges came from producing songs with AI that our artist could actually sing.

The first attempt to solve this was to use Kits.AI to make a vocal clone of our artist's voice. Then when I gave the songs that I made in Suno to Kits, the vocal clone would struggle in certain places, commonly the same places that the artist would also struggle (usually really high or low notes).

By using Kits, we were able to produce a demo track that was in the artist's voice, which made it easier for the artist to sing from during recording.

However, there was one other issue that we ran into, which was accent. Suno songs were produced with an American accent that our artist (who was fluent in English, but had a Japanese accent) struggled with. This challenge we didn't find a good AI solution for, showing the importance of a human producer in the process of selecting and developing songs.

Music Production

Out of all of the songs that we created during the project, we chose one as a team to create as our final debut song that the artist would actually record. I acted as the producer and worked closely with a sound engineer on the day of the recording. Once the recording was complete, I used CryoMix AI to do the final mixing and mastering of the song.

I am still a beginner at music production, so this likely isn't as good as it would have been if someone with years of production training had done it, but overall, it came out pretty well.

What I Learned

AI doesn't replace creative workflows. It enhances them. It took a lot of human judgment and skill to be able to produce a 2.5D idol using AI tools, but the tools allowed us to do it faster and with less overall knowledge needed.

Before AI, I couldn't have produced a song at all, even though I do have a strong interest in music. There are too many skills needed, from how to write lyrics, play instruments, understand music theory, understand sound engineering, and more. All of these things, taken together, were too steep of a learning curve. But with AI filling in the skills that I haven't learned yet, I was able to take ideas for songs and turn them into reality.

Plus, similar to coding AI tools, in the hands of experts, these tools can help reduce the time and manual work required, allowing for songs to be produced more quickly.

This project has strengthened my love of music. I am still learning more and more about music production as a side hobby, even after this project has concluded. I would love to work in the music industry again.