In The Ridgeline, I wrote about showing up to AI camp with nerves, questions, and a half-packed bag. I wasn’t sure if I belonged in the room. I didn’t know if I’d be able to contribute. I had never written a line of Python in my life.
Now I’ve got an answer.
I do. I did. And I helped build something real. Not just in code, but in the moment we stood together on Friday and presented our MVP, live, as a team.
I walked 28.92 miles that week. Across campus, between classrooms, into breakout spaces and late-night huddles. The first day alone started with a GPS-enabled duck hunt that threw strangers into chaotic teamwork before we even had a group name. (Andrea, Cai and I thought "404 Error" was a winner but Christopher thought otherwise, lol) We got lost together, sweated through it, and made it back with something stronger than instructions. Trust.
The assignment given to us by Cal Poly DxHub and AWS was simple on paper. Five days. Fourteen teams. One real-world challenge for each team. No warm-up. No buffer. No watching from the sidelines.
Our team, later named Owl and Lion Access, was tasked with improving support for students in De Anza College’s Disability Support Programs and Services. These were students with ADHD, autism, or other learning differences. Students who wanted help, but too often couldn’t get matched with the right tutor or reach someone after hours. The problem wasn’t lack of effort from the students seeking services. It was misalignment where services specific to their needs didn't exist. We were asked to build a better path.
Our team was a perfect collision of perspectives. Anton, Cai, Andrea, Christopher, Ati, and our mentor Sharon each brought something different. Backend. Frontend. Design. Logic. Voice. Grounding.
Sharon led with presence and clarity. She gave us space, asked sharp questions, poured into us, and then handed me the assignment that changed the arc of my week.
I had already volunteered to transcribe and summarize our client interview. But at 4:59 p.m., right before the session closed for the night, Sharon handed me the baton to build a PDF text extractor.
I blinked. I gulped. I definitely didn’t breathe. Then I said yes.
That night, I sat huddled with Anton, Christopher and Ati with ChatGPT, PyMuPDF, and a browser full of tabs. I started building. I broke it. I fixed it with Anton's help. I added simple logic to help clean up the extracted text by removing repeated headers and footers, and flagging any lines that included symbols like =, +, or /. This made the output easier for our model to interpret and gave us the flexibility to treat math-heavy content with extra care. It wasn’t complex, but it was intentional. I tested it on the student homework Andrea provided. I saw it output clean text. That was the moment everything shifted. I had written something. And it worked.
Each day after that moved at triple speed. We created mock tutor and student profiles and loaded them into DynamoDB. We loaded ADHD-specific tutor strategies into S3. The team refined every prompt with guardrails, added fallback logic, and tested our entire intake flow end to end. The system matched students with tutors, and when no tutor was available, a Claude-powered chatbot stepped in. For tutors, we built an interface that provided assignment summaries and accessible teaching tips drawn from real sources.
It was fast. It was functional. And here it is in all of its glory: https://github.com/earlgreyhot1701D/team-110-customized-tutoring
Then came Thursday night.
Right as we were preparing to finalize our slides, everything broke. The site just stopped responding and sat there in that endless doom-loading spiral. No flashy error message. No convenient fix. Just the kind of silence that makes your stomach drop.
We didn’t panic. #ahwngawd
Anton and Cai went into the backend. Christopher combed through front-end logic and user flow. Andrea and I threw out ideas that of course didn't make sense but showed we were still in it. Ati stayed calm and focused. Sharon held the line for all of us and held us together...all on deck.
And then, at the height of it, when tension could have derailed everything, Christopher got Anton to laugh.
Just one quick laugh.
But it cracked the silence wide open. We were still in it together. Still a team. Still human. Eventually, most of us tapped out, hoping for the best. While we slept, Anton and Cai stayed up and fixed it. At 1:07 a.m., their hard work brought the site back online.
The fix? Hidden in a cursed .env file, of course. Or was it the Soju? You'll have to ask Anton and Cai.
The next morning we gave our final pitch. We showed the full system. A live demo. No shortcuts. We told the story of students who needed support and tutors who wanted to give it. We didn’t overpromise. We didn’t decorate it. We showed what we built. It worked. And we placed second out of fourteen teams. MVP!
But it wasn’t the placement that mattered (Okay yes, I did tell Christopher that I couldn't go back to work without something in hand!). It was what happened in the build room. The moment I saw my code running. The moment Anton trusted it. The way Sharon gave me something just beyond my comfort zone. Cai, calm and steadfast, grinding through the codebase. Ati’s Owl and Lion design that killed. Christopher’s bag of UI brilliance and magic tricks. The way the team never flinched. That’s what stuck.
Outside of the main project, I also built a typing game on the side during our vibe coding session. Yes, Christopher, I know "VC" isn't that cool.
It was a small idea that came from my own court experience. A tool to help new staff and clerks build digital fluency through real-world typing exercises. I kept it simple. Clean UI, live feedback, low-pressure design. I called it Office Keys, and I just submitted it to my first solo hackathon. It lives on GitHub now, and I’m already thinking about version two.
I came to camp wondering whether I could contribute to something technical. I left knowing I can contribute to something meaningful.
Not just in a civic tech sprint. Not just in court operations. But in spaces where systems meet people and tools need to work without excuses.
I’ll keep building. I’ll keep testing. I’ll keep holding that moment with our trophies in hand as proof that trying, stretching, showing up, and laughing through the crash can actually lead to something real.
This wasn’t the finish line.
It was the point on the ridgeline where the trail opens up, and you finally get to see how far you’ve come.
And I’m still climbing.
Bro - also...I crushed it!
AI-assisted, but human-approved, just like any good front office move. Chat GPT the sixth person off the bench editor for this post. Every take is mine.