My Saudi Experience - Intelligent Planet Hackathon
From Berkeley to Saudi Arabia, this is a little reflection of my time building PalmPulse :)
There are a lot of things I am thankful for at Berkeley.
I'm getting a world-class education, learning new things faster than I can fully process them, trying foods I would have never gone looking for on my own, going out with friends every week, staying close to home, and, most of all, meeting some genuinely amazing people.
One of those people somehow led me to flying across the world for a Google hackathon.
Around November of last year, I met Faisal through my roommate. Pretty quickly, he brought up a hackathon affiliated with Google Cloud and hosted all the way in Saudi Arabia. It sounded kind of absurd. Absurdly cool, absurdly unlikely, and absurdly insane. I was all for it.
So we drafted a proposal in a few hours, submitted it minutes before the deadline, and then somehow got approved alongside roughly 200 other teams out of thousands of submissions.
The prompt was simple in the way hackathon prompts are simple: build something with AI and Google technologies that could help solve a real-world problem, while tying into Saudi Vision 2030.
Faisal had already done research on the red palm weevil, a pest that is especially destructive in Middle Eastern regions and can even show up in the United States. The hard part is that by the time the damage is obvious, the tree may already be too far gone. Early detection matters.
That became our niche.
That became PalmPulse.
Getting The Green Light
After a full month of refining the idea with our assigned Google mentor, we were selected to participate in Saudi Arabia itself, with travel, room, and accommodations covered.
It was a ridiculous moment. It was my first time leaving the country without my parents, and it was easily the most intense hackathon I had ever done.
And it was exciting. Faisal and I were beyond ecstatic to hear the news, and we excitedly planned out how we'd spend our time in Saudi Arabia: building on the beach, Doordashing daily, and exploring the city.
Then we read the fine print.
We had about a week to build the thing. Starting now. That meant 2 days at home, then 3 days at Saudi Arabia before we had to submit.
And what's worse: we misinterpreted the prompt. The main goal was a "demo" that could then be iterated on during the presentation; in short, we had to present an idea, rather than a finished product.
We ended up building the entire thing.
Before flying out, I started structuring the frontend for PalmPulse and talking more seriously with our other developer, Sushant Pangeni, who brought serious AI and Google Cloud experience to the table. Together, we sketched out the core experience: a phone app, a custom microphone, sound capture, infestation detection, and a prevention workflow that could turn a suspicious palm tree into key insight.
React Native and Expo gave us the speed we needed. Firebase gave us the backend pieces without making us waste precious hours on infrastructure. twrnc let us bring Tailwind-style iteration into React Native, which mattered because every screen was being built under deadline pressure.
But the model was where the project got real.
Saudi Arabia, in 250 square feet
When we landed, Saudi Arabia felt barren and luxurious at the same time. Very warm. Very polished. Very surreal. Even the airport was 20x more luxurious than any building I'd seen at Berkeley.
And despite how much there was to see, we didn't really leave the hotel much until the last few days. We had one goal: build, build, build.
Faisal and another friend kept us alive with groceries and snacks while Sushant and I kept building. We were sleeping two or three hours a day, then waking up and going right back into the app, the pipeline, the model, the presentation, or whatever had just broken.
The strange thing is that it was fun. Exhausting, obviously. But fun in the specific way only building under pressure can be fun.
There were long stretches of debugging, testing, eating whatever was closest, watching Arabic SpongeBob in the background, and hearing the morning call to prayer while we were still awake and still pushing code.
And I loved every grueling second.
The Model That Almost Broke Us
Our first approach was based on feature vectorization: convert audio into spectrograms, compare them against other spectrograms, and try to classify whether the recording had red palm weevil activity.
When it was training, I remember feeling genuinely proud. The pipeline existed. Data was flowing. The model was learning something.
Then came testing the model: 60-something percent accuracy.
That was a rough moment. We had a real demo coming up, an international judging panel, and a model that was technically alive but nowhere near convincing enough.
So with literal hours before the big presentation, Sushant and I switched into research mode. We went through papers, examples, proven methods, unproven methods, and anything that looked like it could help us.
Eventually, we found the pieces we needed: USDA recordings of red palm weevil activity in the wild, recordings Faisal had from his own research experience, and a stronger model direction. Instead of simply comparing feature vectors, we moved toward DenseNet-style image classification over spectrograms.
That changed everything.
Why This Stack Made Sense
PalmPulse was not just "an app with AI." The hard part was connecting all the small pieces into something that could plausibly work outside a hackathon room.
The mobile app needed to capture clean audio in short chunks. Firebase Storage could hold the uploaded clips. Firestore could track metadata like location, tree ID, timestamps, and detection results. Cloud Functions could convert recordings into spectrograms and call an inference endpoint. Vertex AI gave us a serious path for model deployment. BigQuery and notifications made the larger prevention story easier to explain: if a scan looked dangerous, the data should not disappear into a demo screen. It should become something a grower, researcher, or local authority could act on.
That is how we landed on the architecture below. The exact implementation was moving fast, and some client-layer details shifted while we were building, but the core idea stayed stable: mobile audio in, cloud inference in the middle, useful warning out.
After a few more hours of training, building, testing, eating, and trying not to think about how little we had slept, the model finally crossed our benchmark.
92% accuracy.
I still remember how absurd that felt. A few hours earlier, the whole thing felt like it might collapse. Then suddenly it was not only working, it was working well enough to stand behind.
The Part I Keep Thinking About
We did not win.
That part is worth saying plainly. After all of that, PalmPulse did not take the top prize.
But I also do not think the trip needed that to be worth it.
I learned more about applied AI in a week than I could have expected. I got a much better feel for what Google Cloud's tools are actually useful for when there is a real pipeline to build. I learned what happens when a team has too little time, too much ambition, and just enough stubbornness to make the demo work anyway.
Mostly, I got to meet and build with people I am very glad I met.
Berkeley has already given me a lot: classes, friends, ideas, food, opportunities, and a reason to keep saying yes to things that sound slightly too large at first.
This was one of those things.
And I am really glad I said yes.
- Shaurya Verma