DEV Community

Cover image for Brainstorming with GenAI
Ryan Bishop
Ryan Bishop

Posted on

Brainstorming with GenAI

I'm starting a new project, ElectIQ, "a political companion app focused on providing users with fast, accessible, and neutral information to make informed voting decisions. The app prioritizes privacy, simplicity, and user control, catering to both casual voters and civic-minded users."

That description was AI-generated and is exactly the app I want to develop, but I found it difficult to initially get my idea on paper.

I used ChatGPT-4o (OpenAI) to quiz myself and get the ideas out. My method was:

  1. Provide a description of my idea.
  2. List general questions.
  3. Quiz myself on each questions as multiple-choice.
  4. Summarize my answers in a README.md.

Below are snippets from my ChatGPT conversation.

1. Provide a description of my idea.

"I want to develop a Political App, similar to Pocket Congress, which tracks congressional activity and political finances. I intend on using AWS cloud computing for most of the processing and data storage. I'd like to host it on iOS, but also a web app."

2. List general questions.

"Before I begin creating pages, help me brainstorm the app. I'm going to list some key question and you let me know if there's any additional questions we should brainstorm:
Who's the audience for this app?
What should the user know after using the app?
How long should it take for the user to get that information?
Why would the user feel the need to open the app again?
What does the user need to know before entering the voting booth?"


Great starting questions! Here are a few additional ones to help refine ElectIQ and make it as engaging and impactful as possible:

How will users find and discover the app?

Is it through social media, educational platforms, word of mouth, or other means? This could help shape onboarding or design features for first-time users.
What problems or frustrations is the app solving for the user?

Are users struggling to find trustworthy, non-partisan information? Or maybe they’re looking for real-time updates on specific issues or candidates?
What type of content or experience will keep users engaged?

Would they benefit from personalized notifications, daily digests, or interactive elements (like polling or candidate comparisons)?
What tone and style should the app use?

Should it be formal and informative, or more conversational and accessible, especially to appeal to Gen Z?
How frequently does the information need to be updated?

Does the app need real-time updates (e.g., for breaking news on political decisions) or is a weekly refresh sufficient?
How much context should the app provide?

Should the app provide brief explanations of political terms, processes, or candidates, especially for new voters? Or would users prefer more in-depth insights?
How can the app encourage civic engagement beyond the voting booth?

Could the app prompt users to contact their representatives, attend local events, or follow issues on an ongoing basis?
What data or privacy concerns might users have?

Since the app will access location data, what measures should be in place to reassure users of their privacy?
What would be a user’s top 3 actions in the app?

Are they primarily researching candidates, tracking specific policies, or setting notifications? Understanding this can help prioritize features.
What barriers might stop someone from using or reusing the app?

Are there any complex processes, dense information, or accessibility issues that could be simplified?
Enter fullscreen mode Exit fullscreen mode

3. Quiz myself on each questions as multiple-choice.

"Cool those are great. now Lets go one by one. Provide me a multiple choice answers to each question, like a survey."

Absolutely! Let’s start with the first question and work through them one by one.

1. How will users find and discover the app?
A) Through social media campaigns
B) Educational partnerships (e.g., schools, civic organizations)
C) Word of mouth and peer recommendations
D) App Store search for political information
E) News articles or political blogs
Which option(s) resonate most, or do you see another possible option to add?

Enter fullscreen mode Exit fullscreen mode

"c, d. I don't have an idea for how to monetize this yet, or if I care to, so I won't have budget for marketing campaigns."

Got it! Relying on word of mouth and App Store search will keep the focus on delivering a solid, useful product that resonates with users. Let’s move to the next question:

2. What problems or frustrations is the app solving for the user?
A) Difficulty finding trustworthy, non-partisan information
B) Lack of real-time, consolidated updates on political issues and candidates
C) Overwhelming or confusing political content
D) A need for personalized information relevant to their local area
E) Inability to track political issues they care about over time
Which option(s) best fit what you have in mind for ElectIQ?
Enter fullscreen mode Exit fullscreen mode

...

4. Summarize my answers in a README.md.

Can you provide a summary of my choices? Please provide it in markdown format so I can upload it to my README.md

Here's the final README.md:

# ElectIQ

## Summary

ElectIQ is designed as a political companion app focused on providing users with fast, accessible, and neutral information to make informed voting decisions. The app prioritizes privacy, simplicity, and user control, catering to both casual voters and civic-minded users.

### Audience Discovery:
Primary discovery through word of mouth and App Store search.

### Primary Problem Solved:
Focus on providing personalized information relevant to the user’s local area.
Additional solutions include offering non-partisan information, consolidated updates, simplified political content, and tools to track issues over time.

### User Engagement:
Timelines for tracking political shifts and quizzes to help decide on local elections, making ElectIQ a practical voting companion.

### Tone and Style:
Simple and straightforward tone, allowing users to refer to the app quickly, even minutes before voting.

### Update Frequency:
Weekly summaries of political updates; no real-time requirements, focusing on keeping users informed of representatives' activities.

### Content Context:
Minimal context focused on facts and figures. Brief explanations of political terms and processes, with tap-to-define terms for clarity, avoiding external news links to maintain neutrality.

### Encouraging Civic Engagement:
Features for engagement include:
- Representative contact information
- Notifications for local events, town halls, etc. (if a reliable data source is found)
- Issue tracking tools with tags (e.g., "Reproductive" or "Farming")
- Voter registration info if national data is available.

### Privacy and Data Security:
No cloud storage of personal information; all data (e.g., affiliations, tags, location) should remain on the user's device.
Support anonymous usage with transparency on data handling to prevent any privacy concerns.

### Onboarding Experience
- **Privacy First**: Start with a privacy affirmation to reassure users of data protection.
- **Brief Introduction**: A concise explanation of the app’s use case and core features.
- **Optional Interaction**: Users are given the option to set preferences or skip setup to jump directly into the app.

### Customization
- **MVP**: Limited customization, focusing on essential features.
- **Future Enhancements**: Options to select specific topics, representatives, or issues of interest.

### Home Screen Design
- **Infrequent Use**: Designed for occasional use (e.g., once or twice a year during elections).
- **Key Features**: Prioritizes a voting quiz, tracked issues, and reminders to assist users in making informed voting choices quickly.

### Representative Interaction
- **Comparison Tools**: Users can compare representatives based on policy stances and voting history.
- **Contact Options**: Direct links to contact representatives, facilitating civic engagement.
- **Notes and Hints**: Ability to leave personal notes or hints, with alerts for quiz conflicts or alignments with a representative’s stance.
- **Proximity-Based Ordering**: Representatives are displayed by proximity, with local representatives as primary options.

## Visual Style
- **Clean and Minimalist**: Focused on readability and neutrality, avoiding bright colors, ads, or pop-ups.
- **Accessible for All**: Designed for high accessibility, suitable for users of all ages and abilities.
- **Facts-Driven**: Emphasis on quick facts rather than news, fostering an unbiased, information-centric experience.

## Notifications
- **Minimal Alerts**: Notifications are limited to significant updates, such as a representative crossing the aisle on a tracked or critical vote.
- **User Control**: Aimed at avoiding frequent notifications; only essential updates are pushed to users.

---

## Technical Overview

### Processing

ElectIQ will leverage **AWS Lambda** for serverless processing, minimizing costs and scaling automatically based on usage. Key processing tasks include:

- **Data Retrieval**: Fetching up-to-date information on political representatives, policies, and local events.
- **Data Aggregation**: Weekly summaries are compiled by combining representative voting records, policy changes, and other relevant information.
- **Personalized Recommendations**: Processing user responses to quizzes and comparing them with representatives' voting histories to help guide voting decisions.
- **Security**: Implementing AWS Lambda allows processing without storing user data on the server, maintaining high standards for privacy and security.

### Storage

Data storage will also use AWS services, designed to support privacy and keep personal data on the user's device:

- **DynamoDB**: Stores non-personalized, public data like representative information, policy summaries, and election-related events.
- **S3**: Used to store any static assets, such as candidate photos, policy documents, or visual content.
- **Local Storage**: Sensitive data (e.g., user preferences, tracked issues) is stored locally on the user’s device to maintain privacy. React Native’s local storage solutions, like **AsyncStorage** or **SecureStore**, will be considered for secure, device-level data storage.

### Distribution

ElectIQ will be distributed as:

- **iOS App**: Distributed on the App Store, using Expo’s build service for easy iOS compilation.
- **Web App (Future)**: A web version may be developed for users who prefer accessing the app via browser. This version could use React and AWS Amplify for simplified frontend-backend integration.
- **Open Source Consideration**: If appropriate, an open-source repository may be created to encourage transparency and community contributions.

### Scaling

ElectIQ’s infrastructure is designed for seamless scalability:

- **AWS Lambda and DynamoDB**: Both services automatically scale with demand, handling peak usage during election cycles without requiring manual intervention.
- **Event-Driven Architecture**: By using Lambda functions, ElectIQ can process updates on political activities and deliver relevant notifications only when significant events occur.
- **Caching**: Implementing a caching layer (e.g., DynamoDB Accelerator) may be explored to improve data retrieval times, especially for frequently accessed information like representative profiles.

### Privacy and Security

Privacy is a priority in ElectIQ’s architecture. The app will adhere to the following guidelines:

- **Data Minimization**: Only essential data is retrieved and stored, with no cloud storage of personal user information.
- **Local Storage**: User-specific data, such as quiz results and preferences, is stored locally to protect user privacy.
- **Secure Connections**: All data transfers will use HTTPS, ensuring secure connections between ElectIQ and AWS services.

---
Enter fullscreen mode Exit fullscreen mode

This quiz-style approach to brainstorming was a fun experience and I intend to use it again for my next projects.

Top comments (0)