<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Creta</title>
    <description>The latest articles on DEV Community by Creta (@creta_14f0af6d366d3143d81).</description>
    <link>https://dev.to/creta_14f0af6d366d3143d81</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2612534%2F8cccb736-ae3c-47eb-82e0-d57f8e83fae0.jpg</url>
      <title>DEV Community: Creta</title>
      <link>https://dev.to/creta_14f0af6d366d3143d81</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/creta_14f0af6d366d3143d81"/>
    <language>en</language>
    <item>
      <title>PhishGuard Inbox: private, local-first email triage for freelancers</title>
      <dc:creator>Creta</dc:creator>
      <pubDate>Thu, 15 Oct 2026 12:46:14 +0000</pubDate>
      <link>https://dev.to/creta_14f0af6d366d3143d81/phishguard-inbox-private-local-first-email-triage-for-freelancers-34k3</link>
      <guid>https://dev.to/creta_14f0af6d366d3143d81/phishguard-inbox-private-local-first-email-triage-for-freelancers-34k3</guid>
      <description>&lt;h2&gt;
  
  
  The problem
&lt;/h2&gt;

&lt;p&gt;Freelancers and small teams regularly receive invoices, document shares, account notices, and payment requests without having a security team to review them. A suspicious email can be hard to judge quickly, especially when it creates urgency or uses a lookalike sender or link.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I built
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fq0qhoczy0eka5o578d9p.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fq0qhoczy0eka5o578d9p.png" alt=" " width="800" height="386"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fzrxsld8oohuwtzty0ldy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fzrxsld8oohuwtzty0ldy.png" alt=" " width="799" height="490"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;PhishGuard Inbox is a local-first email triage app. Paste an email or upload an &lt;code&gt;.eml&lt;/code&gt; file, and it extracts links, domains, selected sender details, and attachment metadata. Deterministic Python checks flag common warning signs and show their evidence. A locally hosted Gemma model, served through Ollama, adds an explanation and a cautious next step. The app can also create a JSON report that omits the full email body and attachment contents.&lt;/p&gt;

&lt;p&gt;The project includes 22 fictional sample emails spanning phishing attempts and routine messages, so people can try the workflow without using real inbox data.&lt;/p&gt;

&lt;h2&gt;
  
  
  Who it is for
&lt;/h2&gt;

&lt;p&gt;The first intended users are freelancers and small teams who want a quick second look at an unexpected payment request, login warning, document share, or other message. This is an early product hypothesis; I have not yet validated willingness to pay with users.&lt;/p&gt;

&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Demo video or walkthrough:&lt;/strong&gt;&lt;a href="https://phishguard-zctfym5bmf6mklsmpvur2a.streamlit.app/" rel="noopener noreferrer"&gt;https://phishguard-zctfym5bmf6mklsmpvur2a.streamlit.app/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Source code:&lt;/strong&gt; &lt;a href="https://github.com/Mstr-Creta/PhishGuard" rel="noopener noreferrer"&gt;https://github.com/Mstr-Creta/PhishGuard&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The current app runs locally with Python, Streamlit, and Ollama. A public Streamlit Cloud link is not available for this local-only version: the app is configured to use a loopback Ollama service on the same computer. A recorded walkthrough is the most accurate demo unless the app is later adapted for a hosted inference setup.&lt;/p&gt;

&lt;p&gt;For a short recording, load sample email, run the analysis, show the extracted link and evidence, then download the JSON report. Explain that the model and rules provide triage assistance, not a verdict users should trust without checking.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why open innovation matters here
&lt;/h2&gt;

&lt;p&gt;Running an open-weight model locally makes the inference path inspectable and avoids sending email text to a hosted LLM provider. It also avoids a per-request cloud model fee for the local workflow. That matters for a small tool aimed at independent professionals, where recurring inference costs and handling client email data are both practical concerns.&lt;/p&gt;

&lt;p&gt;Local processing is not a guarantee of security, and this prototype has not been independently audited. The model can misunderstand a message, and rules can miss attacks or flag legitimate email. Users should verify sensitive requests through a contact method they already trust.&lt;/p&gt;

&lt;h2&gt;
  
  
  How it works
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Streamlit accepts pasted text or an &lt;code&gt;.eml&lt;/code&gt; upload.&lt;/li&gt;
&lt;li&gt;The parser extracts message text, headers, links, domains, and attachment metadata in memory.&lt;/li&gt;
&lt;li&gt;Deterministic checks score visible signals and keep their evidence available.&lt;/li&gt;
&lt;li&gt;Ollama runs the selected local model to explain the findings and suggest a safe next step.&lt;/li&gt;
&lt;li&gt;The downloadable report excludes the full email body and attachment contents.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Built with
&lt;/h2&gt;

&lt;p&gt;Python, Streamlit, Ollama, and Gemma 3 1B. The default model is &lt;code&gt;gemma3:1b&lt;/code&gt;; &lt;code&gt;qwen2.5:1.5b-instruct&lt;/code&gt; is an optional alternative.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try it locally
&lt;/h2&gt;

&lt;p&gt;See the setup instructions in the GitHub README below. The sample messages are synthetic and use reserved &lt;code&gt;.test&lt;/code&gt; domains.&lt;/p&gt;

&lt;h2&gt;
  
  
  Current limitations
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;This is a prototype, not an antivirus product or proof that a message is safe or malicious.&lt;/li&gt;
&lt;li&gt;The heuristics and model have not been calibrated against a representative, labeled email dataset.&lt;/li&gt;
&lt;li&gt;The sample emails are illustrative and do not establish accuracy.&lt;/li&gt;
&lt;li&gt;The current local-only Ollama configuration does not provide a public hosted demo.&lt;/li&gt;
&lt;li&gt;No user testing or willingness-to-pay validation has been completed yet.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Challenge fit
&lt;/h2&gt;

&lt;p&gt;PhishGuard Inbox explores the Side Hustle prompt by applying an open-weight model to a specific workflow for freelancers and small teams. Whether people would pay for it remains to be tested with actual users.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;#hf26challenge&lt;/code&gt; &lt;code&gt;#python&lt;/code&gt; &lt;code&gt;#ai&lt;/code&gt; &lt;code&gt;#security&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="gh"&gt;# PhishGuard Inbox&lt;/span&gt;

Local-first email triage for freelancers and small teams. Paste an email or upload an &lt;span class="sb"&gt;`.eml`&lt;/span&gt; file to inspect links, sender signals, attachments, and common social-engineering patterns. A local Ollama model explains the evidence and suggests a cautious next step.
&lt;span class="gt"&gt;
&amp;gt; PhishGuard is triage assistance. It cannot prove that a message is safe or malicious. Verify sensitive requests through a contact method you already trust.&lt;/span&gt;

&lt;span class="gu"&gt;## Features&lt;/span&gt;
&lt;span class="p"&gt;
-&lt;/span&gt; Parse pasted email text and &lt;span class="sb"&gt;`.eml`&lt;/span&gt; files in memory
&lt;span class="p"&gt;-&lt;/span&gt; Extract URLs, domains, selected header fields, and attachment metadata
&lt;span class="p"&gt;-&lt;/span&gt; Flag common signals such as urgency, payment or credential requests, URL mismatches, shorteners, and risky attachments
&lt;span class="p"&gt;-&lt;/span&gt; Show deterministic findings and their evidence alongside a local model explanation
&lt;span class="p"&gt;-&lt;/span&gt; Download a JSON report without the full email body or attachment contents
&lt;span class="p"&gt;-&lt;/span&gt; Browse 22 fictional sample emails across phishing and routine message categories

&lt;span class="gu"&gt;## How it works&lt;/span&gt;

The app parses the message, applies transparent Python checks, and sends selected email content to the local Ollama service for an explanation. The app is configured for loopback Ollama addresses; it does not use a cloud LLM API or perform DNS lookups. Uploaded &lt;span class="sb"&gt;`.eml`&lt;/span&gt; files are read in memory, and attachment contents are not opened or saved.

&lt;span class="gu"&gt;## Requirements&lt;/span&gt;
&lt;span class="p"&gt;
-&lt;/span&gt; Python 3.11 or newer
&lt;span class="p"&gt;-&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;Ollama&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;&lt;span class="sx"&gt;https://ollama.com/download&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;-&lt;/span&gt; About 16 GB system RAM is recommended for the target setup; model performance depends on the computer

&lt;span class="gu"&gt;## Run locally on Windows&lt;/span&gt;

Open PowerShell in the project folder:

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;br&gt;
powershell&lt;br&gt;
py -3 -m venv .venv&lt;br&gt;
..venv\Scripts\Activate.ps1&lt;br&gt;
python -m pip install --upgrade pip&lt;br&gt;
pip install -r requirements.txt&lt;br&gt;
Copy-Item .env.example .env&lt;br&gt;
ollama pull gemma3:1b&lt;br&gt;
streamlit run app.py&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
Ollama's Windows app normally runs in the background. If the app reports that Ollama is unavailable, open Ollama and retry. The optional alternative model is `qwen2.5:1.5b-instruct`:

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;br&gt;
powershell&lt;br&gt;
ollama pull qwen2.5:1.5b-instruct&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
For macOS or Linux, create and activate a Python virtual environment with your platform's commands, install `requirements.txt`, pull `gemma3:1b` with Ollama, and run `streamlit run app.py`.

## Sample walkthrough

1. Open **Sample Emails**.
2. Select a fictional phishing message and choose **Load sample in Analyze Email**.
3. Open **Analyze Email** and select **Analyze locally**.
4. Review the evidence, extracted links, model explanation, and JSON report.

The examples are synthetic and use reserved `.test` domains.

## Privacy notes

The default Streamlit address is `127.0.0.1`. Email text is sent to the local Ollama process for analysis, not to a cloud LLM service. The model request contains selected headers, a body excerpt capped at 6,000 characters, URLs, domains, attachment metadata, and deterministic findings. Reports do not include the full email body or attachment contents.

## Limitations

PhishGuard is an experimental triage tool. Rules can miss attacks or flag legitimate messages, and a small local model can misunderstand an email. The included examples are not a benchmark and do not demonstrate real-world accuracy. Do not use the output as the sole basis for payments, account changes, or sharing sensitive information.

The current Ollama setup is local-only. Deploying this app to Streamlit Community Cloud will not connect it to Ollama running on your personal computer. A hosted deployment requires a separately designed inference setup and corresponding privacy/security review.

## Project status

Early MVP. Accuracy evaluation, user research, accessibility review, and a public hosted demo are future work.

## License

[Add your chosen license and include its `LICENSE` file before describing this project as open source.]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>Outside, Today: Weather-aware ideas to help us touch grass</title>
      <dc:creator>Creta</dc:creator>
      <pubDate>Tue, 06 Oct 2026 12:26:33 +0000</pubDate>
      <link>https://dev.to/creta_14f0af6d366d3143d81/outside-today-weather-aware-ideas-to-help-us-touch-grass-1chl</link>
      <guid>https://dev.to/creta_14f0af6d366d3143d81/outside-today-weather-aware-ideas-to-help-us-touch-grass-1chl</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/hacktoberfest-week1-2026-10-05"&gt;Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fan86ugw1hnb03t09om7u.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fan86ugw1hnb03t09om7u.png" alt=" " width="800" height="1535"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Outside, Today is a small weather-based activity suggester for anyone who wants a nudge to spend less time deciding what to do and more time outdoors. Enter a city and it checks current conditions, the forecast, and nearby parks, gardens, and walking trails. It then gives three practical activity cards with a suggested time window, duration, and a note about why each idea fits the weather.&lt;/p&gt;

&lt;p&gt;Each nearby place can include an interactive map preview. The cozy interface also has Moss, a little cat who follows the cursor, settles back at the edge when things get quiet, and gives weather-aware messages when tapped.&lt;/p&gt;

&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Live demo:&lt;/strong&gt; &lt;code&gt;https://weather-activity-mvp.onrender.com/&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Code
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;GitHub repository:&lt;/strong&gt; &lt;code&gt;https://github.com/Mstr-Creta/weather_activity_mvp.git&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  How I Built It
&lt;/h2&gt;

&lt;p&gt;The app uses FastAPI and Python for its backend, with a single HTML page built using vanilla JavaScript, CSS, and inline SVGs. SerpApi supplies live weather and local outdoor-place results. When GEMINI_API is configured, Google's hosted Gemma open-weight model uses the city, current conditions, forecast, and nearby places to generate three tailored activity ideas. If the model key is missing or the model request fails, local weather-based rules provide fallback ideas.&lt;/p&gt;

&lt;p&gt;I chose Gemma because its open weights give builders more choice in how they inspect, adapt, and serve a model. This MVP calls Gemma through Google's hosted API; it does not run offline or self-host the model. That trade-off keeps setup light for a first build, while the model choice leaves room for a future self-hosted or alternative-provider version.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Does Open Innovation Matter?
&lt;/h2&gt;

&lt;p&gt;The activity ideas depend on timely local context, but the language model that turns that context into a useful plan does not have to be locked to one proprietary model. An open-weight option gives future maintainers a path to change the serving setup, experiment with different Gemma variants, or move inference to infrastructure they control. The current hosted API is still an external service, so this version does not yet deliver local inference or keep all request data on the user's device.&lt;/p&gt;

&lt;p&gt;The app sends the entered city to SerpApi for weather and nearby places. When Gemma is enabled, the city and related weather and place context are sent to Google's API. The app does not create an account or store a user profile.&lt;/p&gt;

&lt;h2&gt;
  
  
  Prize Categories
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Best Use of Gemma:&lt;/strong&gt; Gemma generates the weather-aware activity cards from current conditions and local search context.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Best Use of SerpApi:&lt;/strong&gt; SerpApi provides fresh weather and nearby-place results that are passed into the Gemma prompt to ground its suggestions.&lt;/li&gt;
&lt;/ul&gt;




</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>🚀 Building “Neon Dash” with Amazon Q CLI</title>
      <dc:creator>Creta</dc:creator>
      <pubDate>Mon, 26 May 2025 17:10:50 +0000</pubDate>
      <link>https://dev.to/creta_14f0af6d366d3143d81/building-neon-dash-with-amazon-q-cli-my-game-dev-journey-50l5</link>
      <guid>https://dev.to/creta_14f0af6d366d3143d81/building-neon-dash-with-amazon-q-cli-my-game-dev-journey-50l5</guid>
      <description>&lt;p&gt;When I first heard about the Build Games with Amazon Q CLI campaign, I was curious but a little skeptical — how could an AI coding assistant really help speed up the game development process?&lt;/p&gt;

&lt;p&gt;I decided to test it out with a fun idea:&lt;br&gt;
✨ Neon Dash — a reflex-based racing game built with Python and Pygame, where players dodge glowing obstacles and collect neon orbs in an endless, fast-paced challenge.&lt;/p&gt;
&lt;h2&gt;
  
  
  Check project repository: &lt;a href="https://github.com/Mstr-Creta/Neon_dash_game" rel="noopener noreferrer"&gt;https://github.com/Mstr-Creta/Neon_dash_game&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;In this blog, I’ll Walk you through how I used Amazon Q CLI, what the workflow looked like, and why it made my dev process surprisingly smooth, creative, and efficient.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcoj7gfk2pgd9xb8o3o2t.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcoj7gfk2pgd9xb8o3o2t.png" alt=" "&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🛠️ What is Amazon Q CLI?&lt;/strong&gt;&lt;br&gt;
Amazon Q CLI is a command-line interface tool powered by Amazon’s generative AI. It can help developers:&lt;br&gt;
✅ Generate code from detailed prompts&lt;br&gt;
✅ Create modular, readable project structures&lt;br&gt;
✅ Suggest fixes, optimizations, or improvements&lt;br&gt;
✅ Iterate on projects quickly, even for creative or experimental builds&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;Read the blog here to get started with Q on your machine: *&lt;/em&gt;&lt;br&gt;
&lt;/p&gt;
&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
      &lt;div class="c-embed__body flex items-center justify-between"&gt;
        &lt;a href="https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/" rel="noopener noreferrer" class="c-link fw-bold flex items-center"&gt;
          &lt;span class="mr-2"&gt;docs.aws.amazon.com&lt;/span&gt;
          

        &lt;/a&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;For this campaign, I wanted to test if Q CLI could handle an interactive GUI-based game — not just backend or scripts, but something visual and real-time.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz3nw8jrabw1hawjbqn7i.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz3nw8jrabw1hawjbqn7i.png" alt=" "&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  🎮 My Game Idea: Neon Dash
&lt;/h2&gt;

&lt;p&gt;Here’s the concept I fed into Q CLI:&lt;br&gt;
I want to build a Pygame-based GUI game called "Neon Dash."&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu75ywpevokqdjncf0ynq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu75ywpevokqdjncf0ynq.png" alt=" "&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Game concept:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A fast-paced reflex racing game where the player controls a glowing neon vehicle racing down an endless track filled with moving obstacles.&lt;/li&gt;
&lt;li&gt;The goal is to survive as long as possible, dodging obstacles and collecting neon orbs for points.&lt;/li&gt;
&lt;li&gt;The game gets progressively faster and harder over time.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Key features I want the code to include:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm8myi4rxetvs0mvtri5o.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm8myi4rxetvs0mvtri5o.png" alt=" "&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Game Window &amp;amp; Setup:&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Pygame window with dimensions (e.g., 800x600).&lt;/li&gt;
&lt;li&gt;Neon color palette: black background with bright glowing colors (cyan, magenta, yellow, lime).&lt;/li&gt;
&lt;li&gt;FPS set for smooth gameplay (e.g., 60 FPS).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Player Vehicle:&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Represent the player’s vehicle as a glowing rectangle or triangle.&lt;/li&gt;
&lt;li&gt;Control with left/right arrow keys (or A/D) to shift between lanes or smoothly move left/right.&lt;/li&gt;
&lt;li&gt;Add a subtle trail effect behind the vehicle for a glowing streak.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Track &amp;amp; Obstacles:&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Generate a series of incoming neon obstacles (blocks, walls, or barriers) that the player must dodge.&lt;/li&gt;
&lt;li&gt;Randomize obstacle positions and sizes.&lt;/li&gt;
&lt;li&gt;Gradually increase obstacle speed as the player survives longer.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pickups &amp;amp; Scoring:&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Generate collectible neon orbs or pickups that increase the player’s score.&lt;/li&gt;
&lt;li&gt;Track and display current score on-screen.&lt;/li&gt;
&lt;li&gt;Optional: Add combo multipliers for streaks or near-misses.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Visual Effects:&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Add glow/shadow effects to obstacles, player, and pickups.&lt;/li&gt;
&lt;li&gt;Background animations (moving neon grid, flashing patterns, or starfield effect).&lt;/li&gt;
&lt;li&gt;Smooth screen shake or pulse effect when the player narrowly dodges or collects pickups.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Game Over &amp;amp; Restart:&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Detect collisions with obstacles — triggers game over.&lt;/li&gt;
&lt;li&gt;Show game over screen with final score.&lt;/li&gt;
&lt;li&gt;Add a “press R to restart” or “press Q to quit” option.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Sound &amp;amp; Music:&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Looping synthwave/neon-style background track.&lt;/li&gt;
&lt;li&gt;Sound effects for dodging, collisions, and collecting pickups.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Difficulty Scaling:&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Gradually increase the speed of obstacles and frequency as time progresses.&lt;/li&gt;
&lt;li&gt;Optional: Introduce new types of obstacles or lane patterns at certain score thresholds.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Optional Bonus Features:&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Add leaderboard system to track top scores.&lt;/li&gt;
&lt;li&gt;Add custom color themes players can unlock.&lt;/li&gt;
&lt;li&gt;Add a turbo/boost mode the player can activate when a meter fills up.
Please generate:&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Main game loop with proper event handling.&lt;/li&gt;
&lt;li&gt;Code for rendering the player vehicle, obstacles, pickups, and score display.&lt;/li&gt;
&lt;li&gt;Collision detection between player, obstacles, and pickups.&lt;/li&gt;
&lt;li&gt;Functions to spawn obstacles and pickups with random properties.&lt;/li&gt;
&lt;li&gt;Code for scaling difficulty and updating speed.&lt;/li&gt;
&lt;li&gt;Code for the game-over screen and restart handling.
Bonus if possible:&lt;/li&gt;
&lt;li&gt;Code for simple particle effects when the player collects pickups or crashes.&lt;/li&gt;
&lt;li&gt;Code for a neon-style animated background (moving grid or pulse).
Make sure the code is modular, readable, and split into functions or classes where appropriate to make future expansion easy.&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;

&lt;p&gt;I prepared a detailed prompt that included:&lt;br&gt;
✅ Game window setup (size, colors, FPS)&lt;br&gt;
✅ Player controls (left/right, smooth movement)&lt;br&gt;
✅ Obstacle generation and scaling difficulty&lt;br&gt;
✅ Score system and pickups&lt;br&gt;
✅ Visual effects like glowing trails&lt;br&gt;
✅ Game over and restart functionality&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;⚡ Using Q CLI: Workflow Breakdown&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Here’s how the workflow went:&lt;br&gt;
1️⃣ Crafting the Prompt&lt;br&gt;
Instead of jumping straight into code, I focused on describing what I wanted in as much detail as possible.&lt;/p&gt;

&lt;p&gt;With Q CLI, the more structured and specific your prompt, the better the results.&lt;/p&gt;

&lt;p&gt;2️⃣ Generating Core Code&lt;br&gt;
I ran the prompt through Q CLI, and in seconds, it generated:&lt;br&gt;
✅ A Pygame window setup&lt;br&gt;
✅ Player object and movement&lt;br&gt;
✅ Obstacle spawning system&lt;br&gt;
✅ Basic collision detection&lt;br&gt;
✅ Score tracking&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4qifwtjg97wuop9iv5c3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4qifwtjg97wuop9iv5c3.png" alt=" "&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;What impressed me was that the generated code wasn’t just functional — it was well-structured and modular, with clear functions and comments. I could easily tweak or expand parts without breaking things.&lt;/p&gt;

&lt;p&gt;3️⃣ Iterating &amp;amp; Improving&lt;br&gt;
I used Q CLI iteratively:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Asked it to add sound effects.&lt;/li&gt;
&lt;li&gt;Asked for visual glow effects on the player and obstacles.&lt;/li&gt;
&lt;li&gt;Asked to introduce difficulty scaling — increasing obstacle speed over time.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9bu2w37crzz3ydvskiml.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9bu2w37crzz3ydvskiml.png" alt=" "&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Instead of spending hours debugging, I could refine features and try new ideas quickly, letting Q CLI handle the repetitive or boilerplate parts.&lt;/p&gt;

&lt;p&gt;4️⃣ Testing &amp;amp; Polishing&lt;br&gt;
Once the base game worked:&lt;br&gt;
✅ I added custom neon color themes.&lt;br&gt;
✅ Polished the background with moving grids and flashes (with Q CLI suggestions).&lt;br&gt;
✅ Implemented a simple leaderboard (again, assisted by Q CLI).&lt;/p&gt;

&lt;p&gt;By the end, I had a playable, visually appealing game ready for submission — in much less time than if I’d coded it all solo.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0z4283xmvyzideh7re4n.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0z4283xmvyzideh7re4n.png" alt=" "&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flynzzv1pb6xas254v5fe.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flynzzv1pb6xas254v5fe.png" alt=" "&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;💡 Why Q CLI Was a Game-Changer&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Here’s what stood out to me:&lt;br&gt;
✅ Speed — Q CLI helped generate usable code in seconds, giving me a playable foundation fast.&lt;br&gt;
✅ Creativity — I could experiment freely because the AI handled the heavy lifting.&lt;br&gt;
✅ Structure — The output was modular and clean, making it easy to expand.&lt;br&gt;
✅ Focus — I spent more time on design and gameplay decisions, less on boilerplate setup.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;For devs used to grinding through long setup phases or struggling with game loops, Q CLI acts like an intelligent coding partner — boosting your flow and creativity.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;📦 Final Thoughts&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Participating in the Build Games with Amazon Q campaign showed me that AI tools like Q CLI aren’t just productivity boosters — they’re creative enablers.&lt;/p&gt;

&lt;p&gt;If you’re a developer curious about:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Building interactive games quickly&lt;/li&gt;
&lt;li&gt;Exploring AI-assisted workflows&lt;/li&gt;
&lt;li&gt;Experimenting with creative coding&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;I highly recommend giving Q CLI a try. It helped me turn Neon Dash from an idea to a playable project faster and smoother than I expected.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;✨ Thanks, Amazon Q CLI team, for making this campaign fun and empowering! I’m excited to explore even more projects with this tool.&lt;/p&gt;

&lt;h1&gt;
  
  
  AmazonQCLI
&lt;/h1&gt;

</description>
    </item>
    <item>
      <title>My First Submission for Frontend Challenge - December Edition</title>
      <dc:creator>Creta</dc:creator>
      <pubDate>Fri, 27 Dec 2024 07:37:50 +0000</pubDate>
      <link>https://dev.to/creta_14f0af6d366d3143d81/my-first-submission-for-frontend-challenge-december-edition-2ipd</link>
      <guid>https://dev.to/creta_14f0af6d366d3143d81/my-first-submission-for-frontend-challenge-december-edition-2ipd</guid>
      <description>&lt;p&gt;&lt;strong&gt;🧑🏻‍💻What I Built&lt;/strong&gt;&lt;br&gt;
I created an interactive and visually stunning landing page dedicated to exploring the science and culture surrounding the Winter Solstice. The project focuses on engaging users with animations, dynamic content, and a rich user experience inspired by the solstice theme.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🧑🏻‍🚒Demo&lt;/strong&gt;&lt;br&gt;
You can view the live demo here: &lt;a href="https://winter-wonderland-journey.vercel.app/" rel="noopener noreferrer"&gt;https://winter-wonderland-journey.vercel.app/&lt;/a&gt;&lt;br&gt;
Or check out the project repository on GitHub: &lt;a href="https://github.com/Mstr-Creta/winter-wonderland-journey" rel="noopener noreferrer"&gt;https://github.com/Mstr-Creta/winter-wonderland-journey&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;✍🏻Journey&lt;/strong&gt;&lt;br&gt;
Throughout this challenge, I focused on re-creating a design that captures the essence of the Winter Solstice. Key features include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Snowfall animations &lt;/li&gt;
&lt;li&gt;Use of Gradient hero section&lt;/li&gt;
&lt;li&gt;Multiple style for each section &lt;/li&gt;
&lt;li&gt;Use of better colors and depth effect with icons suitable to theme&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;🤖Use of Ai&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;for planning the framwork and workflow&lt;/li&gt;
&lt;li&gt;bugs fixing&lt;/li&gt;
&lt;li&gt;better code visibility&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;😄Lessons Learned&lt;/strong&gt;&lt;br&gt;
I gained insights into advanced CSS animations and JavaScript event handling, especially for SVG-based interactive elements. The project also challenged me to think creatively about balancing aesthetics and usability.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>frontendchallenge</category>
      <category>css</category>
      <category>javascript</category>
    </item>
  </channel>
</rss>
