Using Notion to create the people’s ideal government team for Aruba’s 2024 elections

Using Notion to create the people’s ideal government team for Aruba’s 2024 elections

How it started

On December 6, 2024, Aruba held its 12th parliamentary elections after the government fell on September 9. While politics took center stage, young creatives and entrepreneurs stole the spotlight. Shows like Vota Pa Ken, No Filter in Paradise, and Face the Future by Self-Making Podcast weren’t your typical election coverage. They were bold, unfiltered, and fun, educating people in refreshing and engaging ways.

One of those shows was made by my friend Mauro Caralps. On November 20, he texted me with this idea inspired by on participant on his Show, Face the Future: “What if people could build their dream team party from all the candidates, no matter the political party?” 👀

My immediate reply? “Oh ok, actually that can be done in Notion, lol”

At first, I thought, "Easy—just slap together a page with a Notion form and call it a day." But of course, it didn’t end there. What started as a small idea quickly turned into something much bigger.

image

Sure, doing it all in Notion sounded easy enough. But then reality hit me. Asking users to scroll through a list of 139 candidates eight times? That’s the kind of user experience that makes people rage-quit.

I knew I needed help, so I roped in my brother. (Pro tip: siblings are the best for these things—they can’t say no.) Together, we brainstormed a better plan, one that wouldn’t make people hate us by the third click.

Here’s the tech stack we ended up with:

  • NextJS: to make all the sensitive calls on the server and not leak any data to client
  • React: for a fast loading and optimized web application
  • Supabase: We used Supabase as secondary storage to store the lists created with their respective candidates, to limit the amount of request to the Notion API.
  • Notion: as our back-end, where the voting list would be stored in one database and the email addresses in another, ensuring the system remains 100% anonymous. Additionally, we used Notion charts for visualizing the data
  • Switchboard: to automated the creation of slick candidate lists 🙂‍↕️

The front end

After discussing and agreeing on the tech stack, I jumped into Figma and sketched out a quick wireframe for the website. I skipped the fancy design process—no endless debates over typography or color palettes. Instead, I focused on keeping it simple but clean. The priorities were clear:

  1. Tell users what this website was and how to use it
  2. Display the candidates in a way that’s easy to navigate

The goal was to make it as seamless as possible: view the candidates, build and review your list, submit it, and get your list ready to share. No unnecessary frills, no distractions.

Wireframe in Figma
Wireframe in Figma

Like that micantidatonan.com was born

The back end

After finishing the wireframe and front end, we moved on to the back end—the part where everything connects and works seamlessly behind the scenes.

Here’s the simplified flow:

  1. User submits their list: Once the dream team is ready, the user hits submit.
  2. Next.js sends the data to Notion: This creates a new page in the Notion database to store the submission.
  3. Notion returns a page ID: This unique ID helps track the entry.
  4. The page ID goes to Supabase: We stored the page id along with the list of candidates for faster future retrieval.
  5. Switchboard generates the list: Using the data, it creates a clean, shareable image with the user’s eight selected candidates.
A simplify version of the back-end
A simplify version of the back-end

Where It all came together: Notion

On December 5 at 9:30 PM, we officially closed the list creation. By then, 1,144 voters had submitted their dream teams—a number that honestly exceeded our expectations. 👀

The results were in, and we officially had the people’s chosen eight, the dream team. 🤩

  1. Evelyn Wever-Croes (MEP)
  2. Raymicheline Raymond (Raiz)
  3. Ursell Arends (Raiz)
  4. Gerlien Croes (Futuro)
  1. Geoffrey Wever (Futuro)
  2. Dangui Oduber (MEP)
  3. Miguel Mansur (Acción 21)
  4. Rocco Tjon (MEP)
The people’s chosen eight, the dream team
The people’s chosen eight, the dream team

To make this work in Notion, I built a database structure that handled everything from submissions to candidate tracking. Here’s how it’s broken down:

  1. Submissions/voter database: Where voter information was stored.
  2. Party groups database: Linked each candidate to their respective party.
  3. Candidates database: Tracked votes and connected submissions to specific candidates.
  4. Emails database: For the raffle—separate from vote tracking but essential for rewarding participants.

The most critical database was the Candidates database, as it powered the calculations for the results.

image

We utilized Notion’s formulas to calculate two critical metrics to then use Notion charts to turn the raw data into an engaging visual story.

  • Voter count
  • Total vote points

Formula for Voter count

The Voter count formula simply tallied how many times a candidate was included in the lists:

lets(
	q1, length(prop("1")),
	q2, length(prop("2")),
	q3, length(prop("3")),
	q4, length(prop("4")),
	q5, length(prop("5")),
	q6, length(prop("6")),
	q7, length(prop("7")),
	q8, length(prop("8")),
sum(q1,q2,q3,q4,q5,q6,q7,q8)
	)
Notion formula of the voter counts

Formula for total voter points

The Total Vote Points formula added a layer of complexity by applying weight to each position:

The higher you are on the list the more point you got First pick : got 8 points Second pick: got 7 points ….. Last pick: got 1 point

lets(
	q1, length(prop("1"))* 8,
	q2, length(prop("2")) * 7,
	q3, length(prop("3")) * 6,
	q4, length(prop("4")) * 5,
	q5, length(prop("5")) * 4,
	q6, length(prop("6")) * 3,
	q7, length(prop("7")) * 2,
	q8, length(prop("8")) * 1,
sum(q1,q2,q3,q4,q5,q6,q7,q8)
	)
Notion formula of the total vote points

This approach ensured that higher-ranked positions carried more weight, giving us a clear way to calculate the people’s dream team.

Why placement mattered

The results weren’t just about who had the most votes—it was about where they appeared on the lists. For example, while Raymicheline Raymond (Raiz) had an impressive 475 votes, she ranked second because Evelyn Wever-Croes (MEP) consistently appeared in the top 1 spot, while Raymicheline was often placed in positions 2-3.

image

Other insights from this data

image

Beyond identifying the people’s dream team, the data revealed deeper insights about voting behavior. Using Notion charts to visualize the results, I uncovered trends that gave me a better understanding of how people think and vote.

Loyalist Patterns

On the other hand, I also noticed strong pockets of party loyalty. Some lists were entirely made up of candidates from a single party, showing that for certain voters, party identity still carries significant weight. Whether it’s out of tradition, trust in the party’s vision, or strong alignment with its policies, these voters made their choices clear.

While I respect this loyalty, it made me wonder: are these voters making fully informed decisions, or are they leaning on party lines as a safe default?

image
image

Cross-Party Pairings

One of the most surprising findings was how often voters combined candidates from different parties on their dream teams. Certain names consistently appeared together, even if the candidates came from opposing platforms. This showed that people weren’t just sticking to party lines—they were selecting individuals they believed in, regardless of their affiliations.

In my opinion, this was refreshing. It tells me that voters are becoming more focused on values, leadership qualities, and trust rather than blindly following party loyalty.

image
image

While I personally prefer cross-party pairings, I found it interesting to see that in some parties, only the leader seemed to have significant voter support, while the rest of the candidates barely registered. Could this be a sign that people are growing tired of the two main popular parties? Or could it be that these leaders dominated the spotlight on social media, leaving their team members in the background as little more than “filler” candidates? It’s a dynamic worth exploring further, as it says a lot about the power of leadership and visibility in shaping voter preferences.

Reflections and what I’d do differently

This was undoubtedly a fun and insightful project where I learned a lot. There are definitely a few things I’d approach differently if I were to do this again. For example, collecting more data about voters—like their gender, age, and district location—would provide an even deeper understanding of voting trends. These three metrics alone could reveal so much about how different demographics engage with elections.

Another improvement would be adding more detailed information about each candidate and party. Voters could benefit from knowing more about their platforms, accomplishments, and values, creating a more informed decision-making process. And, of course, spending extra time refining the user experience would make the website even more intuitive and engaging.

That said, I’m really proud of what we, Mauro, Rodolfo, and I, accomplished in such a short time. It was amazing to see how a simple idea grew into something impactful that sparked conversations.

If you’re curious to explore the full backend in action, I’ve made everything publicly available. You can dive into all the data—total points, voter breakdowns by party and candidate. 👇

Let me know what you think, and feel free to reach out if you’d like to collaborate on something similar!

image

Roxana Rodriguez

Certified Notion Consultant and designer

linkedin | Instagram | X

Did you like this blog post?

Subscribe to my email newsletter to know when the next one is coming out.