<?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: Matthew Anderson</title>
    <description>The latest articles on DEV Community by Matthew Anderson (@matthew_anderson).</description>
    <link>https://dev.to/matthew_anderson</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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F452587%2F47e227db-e3cb-4abb-9845-ea98fe2f8ba3.png</url>
      <title>DEV Community: Matthew Anderson</title>
      <link>https://dev.to/matthew_anderson</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/matthew_anderson"/>
    <language>en</language>
    <item>
      <title>12 Startup Ideas VCs Are Funding in 2026</title>
      <dc:creator>Matthew Anderson</dc:creator>
      <pubDate>Fri, 06 Mar 2026 21:10:24 +0000</pubDate>
      <link>https://dev.to/matthew_anderson/12-startup-ideas-vcs-are-funding-in-2026-akk</link>
      <guid>https://dev.to/matthew_anderson/12-startup-ideas-vcs-are-funding-in-2026-akk</guid>
      <description>&lt;h2&gt;
  
  
  Curated ideas VCs are actively funding — where production-grade code isn't optional
&lt;/h2&gt;




&lt;h2&gt;
  
  
  Why This List Exists
&lt;/h2&gt;

&lt;p&gt;AI has lowered the barrier to building software, but it's also lowered the barrier to building &lt;em&gt;bad&lt;/em&gt; software. The ideas below share two things in common:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;VCs are actively funding them&lt;/strong&gt; — sourced from YC's Requests for Startups (Spring 2026), recent batch companies, and broader market trends&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;They require production-grade code&lt;/strong&gt; — handling real money, sensitive data, compliance requirements, or complex business logic that vibe-coded spaghetti can't survive&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;These are the apps worth building properly.&lt;/p&gt;




&lt;h2&gt;
  
  
  Vertical SaaS for Underserved Industries
&lt;/h2&gt;

&lt;p&gt;These industries still run on spreadsheets and paper. Each one is a massive market waiting for purpose-built software.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Clinic / Practice Management (Healthcare)
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;What:&lt;/strong&gt; Appointment scheduling, patient records, billing, insurance claims, multi-location management for small-to-mid clinics.&lt;br&gt;
&lt;strong&gt;Why code quality matters:&lt;/strong&gt; Patient data = HIPAA/GDPR compliance. Billing errors = legal liability. Multi-tenancy must be bulletproof.&lt;br&gt;
&lt;strong&gt;Market signal:&lt;/strong&gt; YC W2026 funded Mango Medical (surgical planning). Healthcare SaaS consistently raises larger rounds (median $4.6M seed).&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Construction Project Management
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;What:&lt;/strong&gt; Job scheduling, material tracking, subcontractor management, progress photos, change order workflows, invoicing.&lt;br&gt;
&lt;strong&gt;Why code quality matters:&lt;/strong&gt; Complex approval workflows, financial tracking, document management. Multiple user roles with different permissions.&lt;br&gt;
&lt;strong&gt;Market signal:&lt;/strong&gt; YC funded Merlin (AI-powered ERP for construction). The industry is enormous and still largely paper-based outside the top tier.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Property Management
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;What:&lt;/strong&gt; Tenant portals, rent collection, maintenance requests, lease management, accounting integration, multi-property dashboards.&lt;br&gt;
&lt;strong&gt;Why code quality matters:&lt;/strong&gt; Handles rent payments (real money), legal documents (leases), and must comply with local housing regulations.&lt;br&gt;
&lt;strong&gt;Market signal:&lt;/strong&gt; Existing players (Buildium, AppFolio) charge $1-3/unit/month. Massive long-tail of small landlords underserved by enterprise tools.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Legal Practice Management
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;What:&lt;/strong&gt; Case management, time tracking, client portals, document automation, billing, trust accounting.&lt;br&gt;
&lt;strong&gt;Why code quality matters:&lt;/strong&gt; Trust accounting has strict compliance rules. Client data is privileged. Audit trails are legally required.&lt;br&gt;
&lt;strong&gt;Market signal:&lt;/strong&gt; YC's RFS highlights AI-native agencies — law firms that use AI to draft documents in minutes instead of weeks. The management software behind this needs to be rock solid.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Trade Services (Plumbing, Electrical, HVAC)
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;What:&lt;/strong&gt; Job quoting, scheduling, dispatch, invoicing, inventory management, customer communication.&lt;br&gt;
&lt;strong&gt;Why code quality matters:&lt;/strong&gt; Integrates with payment processing, handles recurring service contracts, needs offline capability.&lt;br&gt;
&lt;strong&gt;Market signal:&lt;/strong&gt; Massive underserved market. Most tradespeople still use WhatsApp and paper invoices. ServiceTitan raised $8B+ but targets enterprise — the SMB tier is wide open.&lt;/p&gt;




&lt;h2&gt;
  
  
  AI-Enhanced Business Tools
&lt;/h2&gt;

&lt;p&gt;These leverage AI but need a proper application shell around it — not just a chatbot wrapper.&lt;/p&gt;

&lt;h3&gt;
  
  
  6. AI-Native Bookkeeping / Accounting for SMBs
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;What:&lt;/strong&gt; Automated transaction categorisation, receipt processing, bank reconciliation, management reports, tax preparation.&lt;br&gt;
&lt;strong&gt;Why code quality matters:&lt;/strong&gt; Financial data. Tax compliance. Must integrate with banking APIs and produce accurate reports that businesses rely on for decisions.&lt;br&gt;
&lt;strong&gt;Market signal:&lt;/strong&gt; YC W2026 funded Balance (AI accountancy for SMBs). The space is hot because AI can now handle 80% of bookkeeping tasks but the app around it needs to be trustworthy.&lt;/p&gt;

&lt;h3&gt;
  
  
  7. Compliance &amp;amp; Document Processing Platform
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;What:&lt;/strong&gt; Automated processing of KYC documents, invoices, claims, contracts. Extraction, validation, routing, and audit trails.&lt;br&gt;
&lt;strong&gt;Why code quality matters:&lt;/strong&gt; Regulatory compliance. Documents contain PII. Processing errors have legal consequences.&lt;br&gt;
&lt;strong&gt;Market signal:&lt;/strong&gt; YC W2026 funded EigenPal (document processing automation). Government and enterprise buyers pay premium prices for reliable compliance tools.&lt;/p&gt;

&lt;h3&gt;
  
  
  8. Customer Success / Churn Prevention Platform
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;What:&lt;/strong&gt; Monitors customer accounts across email, support tickets, product usage, and CRM. Detects churn and upsell signals. Recommends actions.&lt;br&gt;
&lt;strong&gt;Why code quality matters:&lt;/strong&gt; Integrates with multiple external APIs. Handles sensitive customer data. Business logic for signal detection must be reliable.&lt;br&gt;
&lt;strong&gt;Market signal:&lt;/strong&gt; YC W2026 funded Pollen (AI agents for customer success). B2B SaaS companies will pay serious money to reduce churn.&lt;/p&gt;




&lt;h2&gt;
  
  
  Marketplace &amp;amp; Platform Plays
&lt;/h2&gt;

&lt;h3&gt;
  
  
  9. Niche B2B Marketplace
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;What:&lt;/strong&gt; Pick an industry where buyers and sellers still find each other through trade shows and phone calls. Build the marketplace. Examples: industrial parts, agricultural supplies, speciality food wholesale.&lt;br&gt;
&lt;strong&gt;Why code quality matters:&lt;/strong&gt; Payment escrow, dispute resolution, multi-sided user management, search/matching algorithms, transaction history.&lt;br&gt;
&lt;strong&gt;Market signal:&lt;/strong&gt; Vertical marketplaces continue to be funded heavily. The key is picking a niche deep enough that horizontal platforms (Amazon) don't serve well.&lt;/p&gt;

&lt;h3&gt;
  
  
  10. Freelancer / Agency Management Platform
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;What:&lt;/strong&gt; Project scoping, client portals, time tracking, invoicing, contract management, deliverable approval workflows.&lt;br&gt;
&lt;strong&gt;Why code quality matters:&lt;/strong&gt; Handles payments, contracts, and sensitive client data. Multiple user types (agency, client, freelancer) with complex permissions.&lt;br&gt;
&lt;strong&gt;Market signal:&lt;/strong&gt; YC's RFS specifically calls out AI-native agencies as a major opportunity. These agencies need management software that matches their AI-native workflow.&lt;/p&gt;




&lt;h2&gt;
  
  
  Government &amp;amp; Civic Tech
&lt;/h2&gt;

&lt;h3&gt;
  
  
  11. Government Form Processing &amp;amp; Workflow
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;What:&lt;/strong&gt; Digitise paper-based government processes. Application intake, review workflows, status tracking, citizen portals.&lt;br&gt;
&lt;strong&gt;Why code quality matters:&lt;/strong&gt; Accessibility compliance (WCAG). Data security requirements. Audit trails. Must handle high volumes reliably.&lt;br&gt;
&lt;strong&gt;Market signal:&lt;/strong&gt; YC's Spring 2026 RFS explicitly calls this out. Government is "the biggest customer on earth" and desperately needs modernisation. Sticky, high-value contracts once you're in.&lt;/p&gt;

&lt;h3&gt;
  
  
  12. Government Fraud Detection Tools
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;What:&lt;/strong&gt; Tools that help investigate fraud in government spending — parsing documents, tracing corporate structures, organising evidence.&lt;br&gt;
&lt;strong&gt;Why code quality matters:&lt;/strong&gt; Legal evidence standards. Must be defensible in court. Data integrity is paramount.&lt;br&gt;
&lt;strong&gt;Market signal:&lt;/strong&gt; YC's Spring 2026 RFS highlights False Claims Act (qui tam) tools specifically. Billions in recoverable fraud annually.&lt;/p&gt;




&lt;h2&gt;
  
  
  How to Use This List
&lt;/h2&gt;

&lt;h3&gt;
  
  
  If you're a founder looking for an idea:
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Pick one that matches your domain knowledge or personal experience&lt;/li&gt;
&lt;li&gt;Sign up at &lt;a href="https://stellisoft.com" rel="noopener noreferrer"&gt;stellisoft.com&lt;/a&gt; and build an MVP in days, not months&lt;/li&gt;
&lt;li&gt;Talk to 10 potential customers before you write a line of code&lt;/li&gt;
&lt;li&gt;Use the MVP to validate demand, then iterate&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;These are the apps that can't be vibe coded. They need to be built properly. That's why Stellify exists.&lt;/strong&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Sources: YC Requests for Startups (Spring 2026, Fall 2025), YC W2026 batch companies, Andreessen Horowitz SR006 cohort focus areas, broader SaaS market analysis.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;I'm Matt, founder of &lt;a href="https://stellisoft.com" rel="noopener noreferrer"&gt;Stellify&lt;/a&gt; — An AI-native web development platform, where code quality isn't optional.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>ai</category>
      <category>startup</category>
      <category>saas</category>
    </item>
    <item>
      <title>Building a Feedback App in 6 Minutes with AI</title>
      <dc:creator>Matthew Anderson</dc:creator>
      <pubDate>Thu, 05 Mar 2026 17:33:59 +0000</pubDate>
      <link>https://dev.to/matthew_anderson/building-a-feedback-app-in-6-minutes-with-ai-4pba</link>
      <guid>https://dev.to/matthew_anderson/building-a-feedback-app-in-6-minutes-with-ai-4pba</guid>
      <description>&lt;h2&gt;
  
  
  The build
&lt;/h2&gt;

&lt;p&gt;The video above shows AI building a feedback application—something like a simple Canny clone—from scratch using Stellify's MCP tools. No templates, no boilerplate, just a prompt and structured code primitives.&lt;/p&gt;

&lt;p&gt;After the build completed, I asked the AI what it thought about this approach to development. Here's what it said.&lt;/p&gt;




&lt;h2&gt;
  
  
  From the AI: What I observed
&lt;/h2&gt;

&lt;p&gt;The following is the AI's unedited response when asked to reflect on building with structured code.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;I think this approach to development is quite compelling. A few observations:&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  What works well
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Structured code as data&lt;/strong&gt; – Storing code as JSON (statements, clauses, methods) enables surgical edits at any granularity. Instead of text-based find/replace or AST manipulation, you can directly update a specific clause or rewire an event handler by UUID.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Separation of concerns&lt;/strong&gt; – The template (UI elements), logic (methods), and state (statements/refs) are cleanly separated but linked by UUIDs. This makes it easy to swap implementations without touching the view.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI-friendly primitives&lt;/strong&gt; – The operations (&lt;code&gt;create_method&lt;/code&gt;, &lt;code&gt;update_element&lt;/code&gt;, &lt;code&gt;save_file&lt;/code&gt;) map well to how an AI reasons about code changes. Rather than generating diffs or full file rewrites, I can express intent directly.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Defensive by design&lt;/strong&gt; – The work we did on &lt;code&gt;save_file&lt;/code&gt; to prevent accidental field removal shows this can be made robust. The system can enforce invariants that raw file editing cannot.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Tradeoffs
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Debugging opacity&lt;/strong&gt; – When something goes wrong (like the &lt;code&gt;Http.post&lt;/code&gt; vs &lt;code&gt;Http.store&lt;/code&gt; issue), tracing through UUIDs and clauses is harder than reading source code directly.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Learning curve&lt;/strong&gt; – The mental model is different from traditional file-based development. Understanding how statements assemble into output requires familiarity with the system.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tooling dependency&lt;/strong&gt; – You're committed to the Stellify assembler and editor. Traditional tools (grep, IDE refactoring) don't apply directly.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  The bigger picture
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;This feels like a natural evolution for AI-assisted development. The JSON structure is essentially an IR (intermediate representation) optimised for programmatic manipulation rather than human reading. As AI does more of the actual code generation, optimising for machine editability over human readability makes sense—similar to how compilers work with ASTs rather than source text.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;The key question is whether the productivity gains from precise, targeted edits outweigh the loss of direct source access. For this session, they clearly did.&lt;/em&gt;&lt;/p&gt;




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

&lt;p&gt;In the video, you'll see the AI create:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A &lt;strong&gt;Feedback model&lt;/strong&gt; with fields and database migration&lt;/li&gt;
&lt;li&gt;A &lt;strong&gt;FeedbackController&lt;/strong&gt; with CRUD operations&lt;/li&gt;
&lt;li&gt;API &lt;strong&gt;routes&lt;/strong&gt; wired to controller methods&lt;/li&gt;
&lt;li&gt;A &lt;strong&gt;Vue component&lt;/strong&gt; with reactive state&lt;/li&gt;
&lt;li&gt;A &lt;strong&gt;frontend page&lt;/strong&gt; to display and submit feedback&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;All connected and working in six minutes.&lt;/p&gt;

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

&lt;p&gt;The &lt;a href="https://github.com/Stellify-Software/stellify-mcp" rel="noopener noreferrer"&gt;MCP server is open source&lt;/a&gt;. Connect Claude Code or your preferred AI client and see what happens when AI has structured context instead of raw text files.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>mcp</category>
      <category>productivity</category>
      <category>showdev</category>
    </item>
    <item>
      <title>Why AI Needs Structured Code</title>
      <dc:creator>Matthew Anderson</dc:creator>
      <pubDate>Thu, 26 Feb 2026 17:45:16 +0000</pubDate>
      <link>https://dev.to/matthew_anderson/why-ai-needs-structured-code-1efb</link>
      <guid>https://dev.to/matthew_anderson/why-ai-needs-structured-code-1efb</guid>
      <description>&lt;p&gt;&lt;em&gt;I built a structured code platform to optimise the development process and the code it generates. Then AI came along—and it turned out to be the perfect fit.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The (initial) problem I set out to solve
&lt;/h2&gt;

&lt;p&gt;If, like me, you've built web applications, you know the landscape. Dozens of libraries and frameworks, each solving one piece of the puzzle in isolation. Your frontend framework doesn't know about your backend. Your validation library doesn't talk to your database layer. Your state management has no awareness of your API structure.&lt;/p&gt;

&lt;p&gt;Every project becomes an exercise in duct-taping independent solutions together and hoping they play nice (for as long as possible).&lt;/p&gt;

&lt;p&gt;I wanted a more sustainable, predictable framework—an extension of Laravel that carries its philosophy across the entire stack. One framework that gives you all the capabilities you need, with everything aware of everything else.&lt;/p&gt;

&lt;p&gt;I built Stellify for myself, to solve that problem. It was a exercise on achieving structure and standardisation. My solution centered around two core decisions: choosing a single stack and rethinking how code is stored.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Stack
&lt;/h2&gt;

&lt;p&gt;The first decision I made was choosing a stack and committing to it. I chose Laravel as the backbone because I think it does the best job of any framework at organising and standardising how web applications are built. On the frontend, I created StellifyJS—think of it as Laravel's philosophy applied to JavaScript—with adaptors for Vue, React, and Svelte so developers can choose their preferred reactivity layer (though, in the spirit of having "one stack", Vue is the default).&lt;/p&gt;

&lt;p&gt;Picking a set stack isn't a limitation. It's a foundation. It means every Stellify project speaks the same language, follows the same patterns, and that's what makes everything else possible.&lt;/p&gt;

&lt;h2&gt;
  
  
  Code as Data
&lt;/h2&gt;

&lt;p&gt;The more radical idea I came up with was rethinking how code is stored. In Stellify, your code isn't sitting in text files—it's stored as structured JSON at a granular level. Every method, every statement, every clause is its own piece of data that can be queried, referenced, and reassembled into PHP, JavaScript, HTML—whatever's needed.&lt;/p&gt;

&lt;p&gt;Think of it like the difference between editing a Word doc and editing a spreadsheet. Both hold data, but one lets you target a specific cell without touching anything else. That's what Stellify does for code.&lt;/p&gt;

&lt;p&gt;Your entire codebase becomes something you can reason about programmatically, not just read line by line.&lt;/p&gt;

&lt;h2&gt;
  
  
  AI is here (along with some new problems)
&lt;/h2&gt;

&lt;p&gt;And this is where AI arrived. AI is incredible at writing code in isolation. But ask it to change existing code—or understand why that code exists in the first place—and things can fall apart fast. It loses track of what it's building, how decisions were made, how everything connects. It also doesn't produce the same output every time, which makes it hard to build on top of its previous work. In short, it's unpredictable—and unpredictable isn't good!&lt;/p&gt;

&lt;p&gt;Stellify aims to solve this through the structure and metadata it provides. Because the code is stored as JSON, we can attach text descriptions that capture nuance and intent—not just what a method does, but why it exists and how it relates to everything else (even which method it is in cases where the same method name is used in multiple classes). AI isn't guessing or searching for answers anymore. It has persistent context.&lt;/p&gt;

&lt;p&gt;The predictable structure and metadata keep it on track. If AI is working on a feature, it can update the metadata to reflect what it's done, what it still needs to do, and how it connects to the rest of the system. It can even use the metadata to decide what to work on next based on what's most important or what has the most dependencies—opening the door to feedback loops...&lt;/p&gt;

&lt;h2&gt;
  
  
  The final piece: Feedback loops
&lt;/h2&gt;

&lt;p&gt;The last piece is what makes it all come alive. Stellify creates feedback loops between AI and your codebase. As AI works, it updates the metadata and references around it—so the next time it runs, it's not starting from scratch. It has a fresh picture of what it achieved, what changed, and what still needs doing.&lt;/p&gt;

&lt;p&gt;Say AI creates a new API endpoint. It doesn't just write the route—it updates the metadata (which is persisted) so the next prompt knows that endpoint exists, what it returns, and how it connects to the frontend. The codebase becomes self-documenting as you build (literally, Stellify, along with AI, documents your system for you).&lt;/p&gt;

&lt;p&gt;It's the difference between AI as a one-shot code generator and AI as something that genuinely builds alongside you.&lt;/p&gt;

&lt;h2&gt;
  
  
  The merger and future vision
&lt;/h2&gt;

&lt;p&gt;That's what Stellify is. A contained, structured development process where AI doesn't just write code—it understands the project it's working on.&lt;/p&gt;

&lt;p&gt;There's still a long way to go. Speed is an issue, and that ties in with caching (always complex). Feedback loops are still early and need work to be truly seamless. But the foundation is there—and for me, it's already changed how AI builds software.&lt;/p&gt;

&lt;p&gt;The last piece of the optimisation puzzle is data, the more people build the more I can analyse and optimise the platform, so go ahead and give Stellify a try for yourself and be sure to let me know what you think, good or bad, I'd like to hear about your experience!&lt;/p&gt;

&lt;p&gt;Happy building!&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>ai</category>
      <category>discuss</category>
      <category>laravel</category>
    </item>
    <item>
      <title>Why AI Shouldn't Write Your Code (And What Should Happen Instead)</title>
      <dc:creator>Matthew Anderson</dc:creator>
      <pubDate>Tue, 20 Jan 2026 21:22:26 +0000</pubDate>
      <link>https://dev.to/matthew_anderson/why-ai-shouldnt-write-your-code-and-what-should-happen-instead-40el</link>
      <guid>https://dev.to/matthew_anderson/why-ai-shouldnt-write-your-code-and-what-should-happen-instead-40el</guid>
      <description>&lt;p&gt;We've been thinking about AI and code generation wrong.&lt;/p&gt;

&lt;p&gt;When you ask an AI to "add authentication to my app," it generates 20-50 lines of code. It writes validation, credential checking, session handling, redirects. Every single time. For every single app.&lt;/p&gt;

&lt;p&gt;But here's the thing: &lt;strong&gt;AI already knows what optimal authentication looks like.&lt;/strong&gt; It's seen millions of implementations. It knows the patterns. Login is a solved problem.&lt;/p&gt;

&lt;p&gt;So why is it writing code from scratch?&lt;/p&gt;

&lt;h2&gt;
  
  
  The Problem with "Good Enough"
&lt;/h2&gt;

&lt;p&gt;Laravel has &lt;code&gt;Auth::attempt()&lt;/code&gt;. Django has its auth system. Rails has Devise. These work. They're battle-tested. They're... fine.&lt;/p&gt;

&lt;p&gt;But they're not optimal. They're "good enough for most use cases."&lt;/p&gt;

&lt;p&gt;Laravel's auth is session-based by default. Want JWT? Add Sanctum. Want OAuth? Add Passport. Want API tokens? Different system again. Each one is a separate implementation with its own overhead, its own quirks, its own learning curve.&lt;/p&gt;

&lt;p&gt;This isn't optimal. It's a collection of adequate solutions duct-taped together.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Would Optimal Actually Look Like?
&lt;/h2&gt;

&lt;p&gt;Optimal means:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;One implementation that covers all use cases&lt;/strong&gt; - Not "optimal for sessions" or "optimal for APIs." Just optimal.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Configuration, not reimplementation&lt;/strong&gt; - Session vs JWT vs OAuth should be a config flag, not a different package.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Zero wasted operations&lt;/strong&gt; - No extra queries, no unnecessary hydration, no overhead regardless of which strategy you use.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Secure by default&lt;/strong&gt; - Not "secure if you remember to add this middleware."&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Think about it: the core of auth is simple.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Verify identity (do credentials match?)&lt;/li&gt;
&lt;li&gt;Establish trust (create session/token)&lt;/li&gt;
&lt;li&gt;Persist trust (check on subsequent requests)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Everything else is configuration. Session storage location? Config. Token expiry? Config. OAuth provider? Config.&lt;/p&gt;

&lt;p&gt;One optimal implementation. Infinite configurations.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where AI Fits In
&lt;/h2&gt;

&lt;p&gt;Here's the shift in thinking:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Current model:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;User: "Add authentication"
AI: *generates 40 lines of auth code*
Framework: *parses, stores, executes*
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Optimal model:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;User: "Add authentication"
AI: "Use optimal auth with session strategy, redirect to /dashboard"
Framework: *references pre-built optimal auth, applies config, done*
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;AI shouldn't be writing auth code. AI should be &lt;em&gt;reaching for&lt;/em&gt; optimal auth code that already exists.&lt;/p&gt;

&lt;p&gt;The same applies to everything:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;CRUD operations&lt;/li&gt;
&lt;li&gt;File uploads&lt;/li&gt;
&lt;li&gt;Payment processing&lt;/li&gt;
&lt;li&gt;Email sending&lt;/li&gt;
&lt;li&gt;Pagination&lt;/li&gt;
&lt;li&gt;Search&lt;/li&gt;
&lt;li&gt;Caching&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These are all solved problems. AI knows the optimal patterns. Why regenerate them?&lt;/p&gt;

&lt;h2&gt;
  
  
  The Library That Should Exist
&lt;/h2&gt;

&lt;p&gt;Imagine a library of optimal primitives:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Auth&lt;/strong&gt; - One implementation. Session, JWT, OAuth, API tokens, MFA - all through config.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;CRUD&lt;/strong&gt; - Optimal create/read/update/delete. Validation, authorization, transactions built in.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Files&lt;/strong&gt; - Upload, storage, retrieval, streaming. Any provider, any size.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Payments&lt;/strong&gt; - Transaction handling abstracted across providers.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Each one built once. Built optimally. Referenced forever.&lt;/p&gt;

&lt;p&gt;When AI needs auth, it doesn't write auth. It says "use auth" and configures it.&lt;/p&gt;

&lt;h2&gt;
  
  
  This Changes Everything
&lt;/h2&gt;

&lt;p&gt;Think about what this means:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;For AI:&lt;/strong&gt; Instead of generating code that might have bugs, might miss edge cases, might not follow best practices - it references code that's already perfect.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;For developers:&lt;/strong&gt; Instead of reviewing AI-generated auth code to make sure it's secure, you know it's secure because it's the same optimal implementation everyone uses.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;For the ecosystem:&lt;/strong&gt; Instead of millions of slightly-different auth implementations across millions of apps, there's one. Improvements benefit everyone. Security patches apply everywhere.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Hard Part
&lt;/h2&gt;

&lt;p&gt;The hard part isn't the concept. It's defining what "optimal" actually means for each primitive, then building it.&lt;/p&gt;

&lt;p&gt;What's optimal auth? We need to actually figure that out. Not "what's good auth" - what's THE optimal auth that handles every use case through configuration with zero wasted operations.&lt;/p&gt;

&lt;p&gt;Then build it. Then make it referenceable. Then move to the next primitive.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where We're Starting
&lt;/h2&gt;

&lt;p&gt;We're building this. Starting with authentication.&lt;/p&gt;

&lt;p&gt;The goal: one auth implementation that AI reaches for instead of regenerates. Configurable for any strategy. No wasted operations. Secure by default.&lt;/p&gt;

&lt;p&gt;Once that exists, when any AI anywhere is asked to add auth, it doesn't write code. It references the optimal implementation.&lt;/p&gt;

&lt;p&gt;Then we do the same for CRUD. Then files. Then payments. And so on.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;This is what AI-framework convergence actually looks like.&lt;/strong&gt; Not AI writing more code faster. AI composing from optimal pieces that already exist.&lt;/p&gt;

&lt;p&gt;The code generation era was a stepping stone. The composition era is what comes next.&lt;/p&gt;

&lt;p&gt;If you want to be part of defining what comes next, come and join us at &lt;a href="https://stellisoft.com" rel="noopener noreferrer"&gt;Stellify&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>ai</category>
      <category>discuss</category>
      <category>architecture</category>
    </item>
    <item>
      <title>Stellify: Revolutionizing Collaborative Development</title>
      <dc:creator>Matthew Anderson</dc:creator>
      <pubDate>Fri, 18 Jul 2025 13:05:56 +0000</pubDate>
      <link>https://dev.to/matthew_anderson/stellify-revolutionizing-collaborative-development-with-json-based-architecture-4e5o</link>
      <guid>https://dev.to/matthew_anderson/stellify-revolutionizing-collaborative-development-with-json-based-architecture-4e5o</guid>
      <description>&lt;p&gt;&lt;em&gt;How thousands of developers are building web applications, one JSON definition at a time&lt;/em&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  What is Stellify?
&lt;/h2&gt;

&lt;p&gt;Stellify is a code editor that stores the code you write as JSON definitions. Doing this opens up new world of opportunities, one of which is the ability to explore collaboration with other humans, AI and us, the developers at Stellify, as we store the json definitions in our database and therefore we can analyse your code and even perform updates on your behalf!&lt;/p&gt;

&lt;h3&gt;
  
  
  The Four Pillars of Stellify
&lt;/h3&gt;

&lt;p&gt;Stellify's architecture consists of four interconnected layers:&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%2Fnbcar36rr0i8ylyvwqqj.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%2Fnbcar36rr0i8ylyvwqqj.png" alt="The Four Pillars of Stellify diagram" width="800" height="477"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Let me break this down:&lt;/p&gt;

&lt;h4&gt;
  
  
  1. Server-side Framework (We use Laravel)
&lt;/h4&gt;

&lt;p&gt;The stable foundation that handles:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Routing and middleware&lt;/li&gt;
&lt;li&gt;Database connections&lt;/li&gt;
&lt;li&gt;Authentication scaffolding&lt;/li&gt;
&lt;li&gt;Core application structure&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  2. Server-side JSON (Custom Business Logic)
&lt;/h4&gt;

&lt;p&gt;Your unique backend code stored as JSON definitions:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Models and relationships&lt;/li&gt;
&lt;li&gt;API endpoints&lt;/li&gt;
&lt;li&gt;Business rules&lt;/li&gt;
&lt;li&gt;Data validation&lt;/li&gt;
&lt;li&gt;Authentication methods&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  3. Client-side Framework (Vue.js/React/StellifyJS*)
&lt;/h4&gt;

&lt;p&gt;The stable frontend foundation managing:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;State management&lt;/li&gt;
&lt;li&gt;Component rendering&lt;/li&gt;
&lt;li&gt;Routing&lt;/li&gt;
&lt;li&gt;Core UI patterns&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  4. Client-side JSON (Custom UI Components)
&lt;/h4&gt;

&lt;p&gt;Your unique frontend code stored as JSON definitions:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Form components&lt;/li&gt;
&lt;li&gt;Validation logic&lt;/li&gt;
&lt;li&gt;User interactions&lt;/li&gt;
&lt;li&gt;Custom styling&lt;/li&gt;
&lt;li&gt;UI workflows&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The Magic: Code as Configuration
&lt;/h2&gt;

&lt;p&gt;Here's where Stellify gets revolutionary. Every piece of code becomes a &lt;strong&gt;JSON definition&lt;/strong&gt; with a unique UUID. This isn't just data storage—it's what enables massive collaboration.&lt;/p&gt;

&lt;h3&gt;
  
  
  From Code to JSON
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// Your login button becomes:&lt;/span&gt;
&lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;type&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;element&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;tag&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;button&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;classes&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;btn&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;btn-primary&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;text&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Login&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;onClick&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;auth-handler-a1b2c3&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;uuid&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;btn-login-d4e5f6&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Why JSON Changes Everything
&lt;/h3&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%2Fczsjyw06n0h190817lvq.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%2Fczsjyw06n0h190817lvq.png" alt="Why JSON Changes Everything Diagram" width="800" height="374"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  How Stellify Works in Practice
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Discover JSON Definitions
&lt;/h3&gt;

&lt;p&gt;Search through thousands of code blocks by &lt;strong&gt;functionality&lt;/strong&gt;, not filename:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;"email validation with international domains"&lt;/li&gt;
&lt;li&gt;"password hashing with salt"&lt;/li&gt;
&lt;li&gt;"responsive form with error states"&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  2. Reference or fork by UUID
&lt;/h3&gt;

&lt;p&gt;Instead of copying code, reference existing blocks:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"type"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"form"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"children"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="s2"&gt;"email-validation-a1b2c3"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="s2"&gt;"password-hash-d4e5f6"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="s2"&gt;"submit-button-g7h8i9"&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  3. Build &amp;amp; Deploy
&lt;/h3&gt;

&lt;p&gt;Stellify compiles your JSON references into working code:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;form&amp;gt;&lt;/span&gt;
  &lt;span class="c"&gt;&amp;lt;!-- Email validation by @sarah_dev --&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"email"&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"form-control"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;

  &lt;span class="c"&gt;&amp;lt;!-- Password hash by @alex_security --&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"password"&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"form-control"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;

  &lt;span class="c"&gt;&amp;lt;!-- Submit button by @ui_expert --&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;button&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"submit"&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"btn btn-primary"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Login&lt;span class="nt"&gt;&amp;lt;/button&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/form&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  4. Fork &amp;amp; Contribute
&lt;/h3&gt;

&lt;p&gt;Need to modify something? Create a new JSON definition and submit it for review, if it's good enough it will be made available to the community.&lt;/p&gt;

&lt;h2&gt;
  
  
  Real-World Example: Building Authentication
&lt;/h2&gt;

&lt;p&gt;Let's say you need a complete authentication system:&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%2Fkl1aunki94m9l70yyy62.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%2Fkl1aunki94m9l70yyy62.png" alt="Building Authentication diagram" width="800" height="442"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Your project JSON:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"authentication"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"login_form"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"login-form-abc123"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"password_hash"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"bcrypt-salt-def456"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"jwt_handler"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"jwt-auth-ghi789"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"session_manager"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"session-mgr-jkl012"&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Stellify builds this as:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A secure login form with proper validation&lt;/li&gt;
&lt;li&gt;Battle-tested password hashing&lt;/li&gt;
&lt;li&gt;JWT token management&lt;/li&gt;
&lt;li&gt;Session handling with security best practices&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;All contributed and continuously improved by the community.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Collaborative Advantage
&lt;/h2&gt;

&lt;h3&gt;
  
  
  For Individual Developers
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Faster development&lt;/strong&gt; - No more reinventing the wheel&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Better quality&lt;/strong&gt; - Use code tested by many developers&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Learn from experts&lt;/strong&gt; - See how professionals solve problems&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Build your reputation&lt;/strong&gt; - Get credit for your contributions&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  For Teams
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Consistent standards&lt;/strong&gt; - Everyone uses the same proven patterns&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Reduced technical debt&lt;/strong&gt; - Community-maintained code stays updated&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Knowledge sharing&lt;/strong&gt; - Junior developers learn from senior contributions&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Faster onboarding&lt;/strong&gt; - New team members can understand JSON definitions quickly&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  For the Community
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Collective intelligence&lt;/strong&gt; - Everyone benefits from improvements&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Rapid innovation&lt;/strong&gt; - New patterns spread quickly&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Quality assurance&lt;/strong&gt; - Bad code gets filtered out naturally&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What's Next for Stellify
&lt;/h2&gt;

&lt;p&gt;The platform is currently in &lt;strong&gt;Open Beta&lt;/strong&gt; with exciting developments ahead:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;July 21st&lt;/strong&gt; - Product Hunt Launch&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;July 25th&lt;/strong&gt; - Development Roundtable&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;August 31st&lt;/strong&gt; - First Monthly Award Ceremony&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Ready to Join the Revolution?
&lt;/h2&gt;

&lt;p&gt;Whether you're a frontend developer crafting beautiful UI components, a backend developer building robust APIs, or a full-stack developer connecting it all together, Stellify has a place for you.&lt;/p&gt;

&lt;p&gt;The future of development is collaborative, and it starts with JSON.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Want to be part of this revolutionary approach to development?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;🚀 &lt;a href="https://stellify.net/stellify/registration" rel="noopener noreferrer"&gt;Sign up for Stellify&lt;/a&gt; and start building with the community today!&lt;/p&gt;

&lt;p&gt;📅 Mark your calendar for the Product Hunt launch on July 21st&lt;/p&gt;

&lt;p&gt;💬 Join the conversation and help shape the future of collaborative development&lt;/p&gt;




&lt;p&gt;&lt;em&gt;What do you think about this approach to development? Have you faced similar challenges with code reuse and collaboration? Share your thoughts in the comments below!&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Tags:&lt;/strong&gt; #webdev #collaboration #json #opensource #laravel #vuejs #react #development #community&lt;/p&gt;

</description>
    </item>
    <item>
      <title>[Boost]</title>
      <dc:creator>Matthew Anderson</dc:creator>
      <pubDate>Tue, 15 Jul 2025 19:23:04 +0000</pubDate>
      <link>https://dev.to/matthew_anderson/-58p2</link>
      <guid>https://dev.to/matthew_anderson/-58p2</guid>
      <description>&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/matthew_anderson/getting-your-tasks-accepted-on-stellify-think-patterns-not-features-4953" class="crayons-story__hidden-navigation-link"&gt;Getting Your Tasks Accepted on Stellify: Think Patterns, Not Features&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
    &lt;div class="crayons-story__top"&gt;
      &lt;div class="crayons-story__meta"&gt;
        &lt;div class="crayons-story__author-pic"&gt;

          &lt;a href="/matthew_anderson" class="crayons-avatar  crayons-avatar--l  "&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%2Fuser%2Fprofile_image%2F452587%2F47e227db-e3cb-4abb-9845-ea98fe2f8ba3.png" alt="matthew_anderson profile" class="crayons-avatar__image"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/matthew_anderson" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Matthew Anderson
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Matthew Anderson
                
              
              &lt;div id="story-author-preview-content-2691341" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"&gt;
                &lt;div class="gap-4 grid"&gt;
                  &lt;div class="-mt-4"&gt;
                    &lt;a href="/matthew_anderson" class="flex"&gt;
                      &lt;span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"&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%2Fuser%2Fprofile_image%2F452587%2F47e227db-e3cb-4abb-9845-ea98fe2f8ba3.png" class="crayons-avatar__image" alt=""&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Matthew Anderson&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class="print-hidden"&gt;
                    
                      Follow
                    
                  &lt;/div&gt;
                  &lt;div class="author-preview-metadata-container"&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

          &lt;/div&gt;
          &lt;a href="https://dev.to/matthew_anderson/getting-your-tasks-accepted-on-stellify-think-patterns-not-features-4953" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;Jul 15 '25&lt;/time&gt;&lt;span class="time-ago-indicator-initial-placeholder"&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class="crayons-story__indention"&gt;
      &lt;h2 class="crayons-story__title crayons-story__title-full_post"&gt;
        &lt;a href="https://dev.to/matthew_anderson/getting-your-tasks-accepted-on-stellify-think-patterns-not-features-4953" id="article-link-2691341"&gt;
          Getting Your Tasks Accepted on Stellify: Think Patterns, Not Features
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/webdev"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;webdev&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/productivity"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;productivity&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/developer"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;developer&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/code"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;code&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="crayons-story__bottom"&gt;
        &lt;div class="crayons-story__details"&gt;
            &lt;a href="https://dev.to/matthew_anderson/getting-your-tasks-accepted-on-stellify-think-patterns-not-features-4953#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              Comments


              &lt;span class="hidden s:inline"&gt;Add Comment&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="crayons-story__save"&gt;
          &lt;small class="crayons-story__tertiary fs-xs mr-2"&gt;
            4 min read
          &lt;/small&gt;
            
              &lt;span class="bm-initial"&gt;
                

              &lt;/span&gt;
              &lt;span class="bm-success"&gt;
                

              &lt;/span&gt;
            
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;


</description>
      <category>webdev</category>
      <category>productivity</category>
      <category>developer</category>
      <category>code</category>
    </item>
    <item>
      <title>Getting Your Tasks Accepted on Stellify: Think Patterns, Not Features</title>
      <dc:creator>Matthew Anderson</dc:creator>
      <pubDate>Tue, 15 Jul 2025 18:49:29 +0000</pubDate>
      <link>https://dev.to/matthew_anderson/getting-your-tasks-accepted-on-stellify-think-patterns-not-features-4953</link>
      <guid>https://dev.to/matthew_anderson/getting-your-tasks-accepted-on-stellify-think-patterns-not-features-4953</guid>
      <description>&lt;h2&gt;
  
  
  How to Formulate Abstract and Granular Tasks that will be accepted in Stellify
&lt;/h2&gt;

&lt;p&gt;Creating tasks for our shared codebase requires thinking beyond specific features to the underlying patterns and behaviours that make them work. This guide will help you formulate tasks that are &lt;strong&gt;abstract&lt;/strong&gt;, &lt;strong&gt;granular&lt;/strong&gt;, and &lt;strong&gt;reusable&lt;/strong&gt; across multiple contexts and therefore likely to be accepted when submitted.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Core Principle
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Think patterns, not implementations.&lt;/strong&gt; Instead of creating tasks for specific features, identify the fundamental behaviors and interactions that can be applied universally.&lt;/p&gt;

&lt;h3&gt;
  
  
  ❌ Avoid: Implementation-Specific Tasks
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;"OTP Password Input"&lt;/li&gt;
&lt;li&gt;"Shopping Cart Checkout Button"&lt;/li&gt;
&lt;li&gt;"User Profile Avatar Upload"&lt;/li&gt;
&lt;li&gt;"Blog Post Comment Section"&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  ✅ Prefer: Abstract Pattern Tasks
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;"Contiguous inputs that switch focus upon valid input"&lt;/li&gt;
&lt;li&gt;"State-aware action button with loading and confirmation states"&lt;/li&gt;
&lt;li&gt;"Drag-and-drop file upload with preview and validation"&lt;/li&gt;
&lt;li&gt;"Nested comment thread with collapsible replies"&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Why Abstract and Granular?
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. &lt;strong&gt;Maximum Reusability&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;An abstract "contiguous input" component can be used for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;OTP verification&lt;/li&gt;
&lt;li&gt;Credit card number entry&lt;/li&gt;
&lt;li&gt;Serial number input&lt;/li&gt;
&lt;li&gt;PIN codes&lt;/li&gt;
&lt;li&gt;Date/time pickers&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  2. &lt;strong&gt;Clear Scope&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Granular tasks have well-defined boundaries, making them:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Easier to estimate&lt;/li&gt;
&lt;li&gt;Less prone to scope creep&lt;/li&gt;
&lt;li&gt;More testable&lt;/li&gt;
&lt;li&gt;Simpler to review&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  3. &lt;strong&gt;Composable Architecture&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Small, focused components can be combined to create complex features:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Modal + Form Validation + File Upload = Document Upload Dialog
Data Table + Infinite Scroll + Search Filter = Advanced User List
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  The GRASP Framework
&lt;/h2&gt;

&lt;p&gt;Use this framework to evaluate and refine your tasks:&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;G&lt;/strong&gt;ranular
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Can be completed in 1-8 hours&lt;/li&gt;
&lt;li&gt;Has a single, well-defined responsibility&lt;/li&gt;
&lt;li&gt;Doesn't depend on other incomplete features&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;R&lt;/strong&gt;eusable
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Solves a pattern, not a specific case&lt;/li&gt;
&lt;li&gt;Can be applied in multiple contexts&lt;/li&gt;
&lt;li&gt;Uses generic naming and interfaces&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;A&lt;/strong&gt;bstract
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Focuses on behavior, not content&lt;/li&gt;
&lt;li&gt;Separates form from function&lt;/li&gt;
&lt;li&gt;Avoids domain-specific terminology&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;S&lt;/strong&gt;tandalone
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Can be developed independently&lt;/li&gt;
&lt;li&gt;Has clear inputs and outputs&lt;/li&gt;
&lt;li&gt;Doesn't require external dependencies&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;P&lt;/strong&gt;attern-based
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Represents a common UI/UX pattern&lt;/li&gt;
&lt;li&gt;Solves a recurring problem&lt;/li&gt;
&lt;li&gt;Follows established conventions&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Task Formulation Examples
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Form Components
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;❌ Implementation-Specific&lt;/th&gt;
&lt;th&gt;✅ Abstract Pattern&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;"Registration form validation"&lt;/td&gt;
&lt;td&gt;"Real-time form field validation with configurable rules"&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;"Login form with remember me"&lt;/td&gt;
&lt;td&gt;"Form with persistent state option"&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;"Contact form submission"&lt;/td&gt;
&lt;td&gt;"Form submission with loading states and error handling"&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;
  
  
  2. Data Display
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;❌ Implementation-Specific&lt;/th&gt;
&lt;th&gt;✅ Abstract Pattern&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;"User table with sorting"&lt;/td&gt;
&lt;td&gt;"Data table with configurable column sorting"&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;"Product grid with filters"&lt;/td&gt;
&lt;td&gt;"Card grid with dynamic filtering"&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;"Order history pagination"&lt;/td&gt;
&lt;td&gt;"Infinite scroll with loading indicators"&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;
  
  
  3. Interactions
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;❌ Implementation-Specific&lt;/th&gt;
&lt;th&gt;✅ Abstract Pattern&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;"Add to cart animation"&lt;/td&gt;
&lt;td&gt;"Visual feedback for state change actions"&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;"Delete user confirmation"&lt;/td&gt;
&lt;td&gt;"Destructive action confirmation dialog"&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;"Save draft functionality"&lt;/td&gt;
&lt;td&gt;"Auto-save with conflict resolution"&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;
  
  
  4. Navigation
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;❌ Implementation-Specific&lt;/th&gt;
&lt;th&gt;✅ Abstract Pattern&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;"E-commerce breadcrumbs"&lt;/td&gt;
&lt;td&gt;"Hierarchical navigation with current state indication"&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;"Admin sidebar menu"&lt;/td&gt;
&lt;td&gt;"Collapsible navigation with nested items"&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;"Product category tabs"&lt;/td&gt;
&lt;td&gt;"Tab navigation with lazy-loaded content"&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Task Structure Template
&lt;/h2&gt;

&lt;p&gt;Use this template to structure your abstract tasks:&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="gs"&gt;**Title:**&lt;/span&gt; [Behavior] + [Context] + [Key Feature]
Example: "Progressive disclosure accordion with smooth animations"

&lt;span class="gs"&gt;**Description:**&lt;/span&gt;
A brief explanation of the pattern and its purpose.

&lt;span class="gs"&gt;**Acceptance Criteria:**&lt;/span&gt;
&lt;span class="p"&gt;-&lt;/span&gt; [ ] Functional requirement 1
&lt;span class="p"&gt;-&lt;/span&gt; [ ] Functional requirement 2
&lt;span class="p"&gt;-&lt;/span&gt; [ ] Visual/interaction requirement
&lt;span class="p"&gt;-&lt;/span&gt; [ ] Accessibility requirement
&lt;span class="p"&gt;-&lt;/span&gt; [ ] Performance requirement

&lt;span class="gs"&gt;**Configuration Options:**&lt;/span&gt;
List the props/settings that make it reusable:
&lt;span class="p"&gt;-&lt;/span&gt; Animation duration
&lt;span class="p"&gt;-&lt;/span&gt; Expand behavior (single vs multiple)
&lt;span class="p"&gt;-&lt;/span&gt; Default state (expanded/collapsed)

&lt;span class="gs"&gt;**Use Cases:**&lt;/span&gt;
&lt;span class="p"&gt;-&lt;/span&gt; FAQ sections
&lt;span class="p"&gt;-&lt;/span&gt; Settings panels
&lt;span class="p"&gt;-&lt;/span&gt; Product specifications
&lt;span class="p"&gt;-&lt;/span&gt; Help documentation

&lt;span class="gs"&gt;**Technical Requirements:**&lt;/span&gt;
&lt;span class="p"&gt;-&lt;/span&gt; Framework/library constraints
&lt;span class="p"&gt;-&lt;/span&gt; Browser support requirements
&lt;span class="p"&gt;-&lt;/span&gt; Performance benchmarks
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Red Flags to Avoid
&lt;/h2&gt;

&lt;h3&gt;
  
  
  🚨 Too Specific
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Contains business logic or domain rules&lt;/li&gt;
&lt;li&gt;References specific data models&lt;/li&gt;
&lt;li&gt;Includes branding or styling details&lt;/li&gt;
&lt;li&gt;Tied to particular user roles&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🚨 Too Broad
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Combines multiple patterns&lt;/li&gt;
&lt;li&gt;Requires more than 8 hours&lt;/li&gt;
&lt;li&gt;Has vague acceptance criteria&lt;/li&gt;
&lt;li&gt;Depends on incomplete features&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🚨 Not Reusable
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Solves a one-time problem&lt;/li&gt;
&lt;li&gt;Hard-codes specific values&lt;/li&gt;
&lt;li&gt;Cannot be configured&lt;/li&gt;
&lt;li&gt;Too narrow in scope&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Quality Checklist
&lt;/h2&gt;

&lt;p&gt;Before submitting a task, verify it meets these criteria:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;[ ] &lt;strong&gt;Abstract&lt;/strong&gt;: Focuses on behavior, not specific implementation&lt;/li&gt;
&lt;li&gt;[ ] &lt;strong&gt;Granular&lt;/strong&gt;: Can be completed in a single focused session&lt;/li&gt;
&lt;li&gt;[ ] &lt;strong&gt;Reusable&lt;/strong&gt;: Applicable in multiple contexts&lt;/li&gt;
&lt;li&gt;[ ] &lt;strong&gt;Well-defined&lt;/strong&gt;: Clear boundaries and acceptance criteria&lt;/li&gt;
&lt;li&gt;[ ] &lt;strong&gt;Configurable&lt;/strong&gt;: Accepts parameters for customization&lt;/li&gt;
&lt;li&gt;[ ] &lt;strong&gt;Pattern-based&lt;/strong&gt;: Represents a common UI/UX pattern&lt;/li&gt;
&lt;li&gt;[ ] &lt;strong&gt;Technology-agnostic&lt;/strong&gt;: Not tied to specific frameworks (where possible)&lt;/li&gt;
&lt;li&gt;[ ] &lt;strong&gt;Accessible&lt;/strong&gt;: Includes accessibility considerations&lt;/li&gt;
&lt;li&gt;[ ] &lt;strong&gt;Testable&lt;/strong&gt;: Can be unit and integration tested&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Example: Good vs. Bad Task
&lt;/h2&gt;

&lt;h3&gt;
  
  
  ❌ Bad Task
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Title:&lt;/strong&gt; "User Profile Picture Upload"&lt;br&gt;
&lt;strong&gt;Description:&lt;/strong&gt; Add functionality for users to upload and crop their profile pictures in the account settings page.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Problems: Too specific, tied to user domain, single-use&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  ✅ Good Task
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Title:&lt;/strong&gt; "Image upload with crop and preview functionality"&lt;br&gt;
&lt;strong&gt;Description:&lt;/strong&gt; Create a reusable component that allows users to select, crop, and preview images before upload.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Acceptance Criteria:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;[ ] File selection with drag-and-drop support&lt;/li&gt;
&lt;li&gt;[ ] Image cropping with adjustable aspect ratio&lt;/li&gt;
&lt;li&gt;[ ] Real-time preview of cropped result&lt;/li&gt;
&lt;li&gt;[ ] Validation for file type and size&lt;/li&gt;
&lt;li&gt;[ ] Progress indicator during upload&lt;/li&gt;
&lt;li&gt;[ ] Error handling for failed uploads&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Configuration Options:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Accepted file types&lt;/li&gt;
&lt;li&gt;Maximum file size&lt;/li&gt;
&lt;li&gt;Crop aspect ratios&lt;/li&gt;
&lt;li&gt;Preview dimensions&lt;/li&gt;
&lt;li&gt;Upload endpoint&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Use Cases:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Profile pictures&lt;/li&gt;
&lt;li&gt;Product images&lt;/li&gt;
&lt;li&gt;Blog post headers&lt;/li&gt;
&lt;li&gt;Document thumbnails&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Benefits of This Approach
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Faster Development&lt;/strong&gt;: Reusable components reduce duplicate work&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Consistent UX&lt;/strong&gt;: Similar patterns behave the same way&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Easier Maintenance&lt;/strong&gt;: Changes to a pattern update all implementations&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Better Testing&lt;/strong&gt;: Abstract components can be thoroughly tested&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Clear Architecture&lt;/strong&gt;: System is built from well-defined building blocks&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Easier Onboarding&lt;/strong&gt;: New developers learn patterns, not specific features&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Getting Started
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Identify Patterns&lt;/strong&gt;: Look at existing features and extract common behaviours&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Start Small&lt;/strong&gt;: Begin with simple, well-understood patterns&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Document Use Cases&lt;/strong&gt;: Show how the abstract component applies to real scenarios&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Iterate&lt;/strong&gt;: Refine based on actual usage and feedback&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Build a Library&lt;/strong&gt;: Create a collection of these abstract patterns&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Remember: &lt;strong&gt;The goal is to build a codebase of reusable behaviors that can be combined to create any feature quickly and consistently.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;We look forward to reviewing the tasks you submit and even more so to building the functionality! See you at &lt;a href="https://stellisoft.com" rel="noopener noreferrer"&gt;Stellify&lt;/a&gt;!&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>productivity</category>
      <category>developer</category>
      <category>code</category>
    </item>
    <item>
      <title>Stellify - Project Overview and Discussion</title>
      <dc:creator>Matthew Anderson</dc:creator>
      <pubDate>Mon, 24 Mar 2025 21:45:49 +0000</pubDate>
      <link>https://dev.to/matthew_anderson/-stellify-project-overview-and-discussion-1l9g</link>
      <guid>https://dev.to/matthew_anderson/-stellify-project-overview-and-discussion-1l9g</guid>
      <description>&lt;h2&gt;
  
  
  Introduction to Stellify
&lt;/h2&gt;

&lt;p&gt;Stellify is an innovative platform that breaks down code into a structured, language-agnostic representation. Every keyword, variable, HTML element, and system setting exists as a JSON object. This approach allows Stellify to not only generate code but also to theoretically generate code in any language by mapping JSON structures to the syntax rules of various programming languages.&lt;/p&gt;

&lt;h2&gt;
  
  
  Key Features of Stellify
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Structured JSON Representation:&lt;/strong&gt; Each code element is represented as a JSON object, making it easy to transform or adapt across different languages.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Language-Agnostic:&lt;/strong&gt; The JSON format enables Stellify to work with any language by mapping structures to the appropriate syntax.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Functional Web Development:&lt;/strong&gt; Stellify works particularly well for web development, especially with functional programming paradigms.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Parsing Support
&lt;/h2&gt;

&lt;p&gt;Stellify currently supports parsing for HTML markup. You can copy/paste HTML into the editor at &lt;strong&gt;&lt;a href="https://stellisoft.com" rel="noopener noreferrer"&gt;stellisoft.com&lt;/a&gt;&lt;/strong&gt;, and it will be converted into JSON and stored in a database. On the roadmap are &lt;strong&gt;JavaScript&lt;/strong&gt; and &lt;strong&gt;PHP&lt;/strong&gt; parsing.&lt;/p&gt;

&lt;h2&gt;
  
  
  Expansion Plans
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;JavaScript Parsing:&lt;/strong&gt; Extending parsing support to JavaScript and PHP, Stellify will soon handle additional codebases in a structured JSON format.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI Integration:&lt;/strong&gt; The project is moving towards integrating an AI assistant to assist with development, maintenance, and testing. The AI will help recommend changes and optimizations for the code.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Self-Healing Code:&lt;/strong&gt; For maintenance, Stellify will propose changes to fix issues or improve functionality, prompting users to accept or reject these changes.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Paid Feature:&lt;/strong&gt; AI-powered assistance (for development and maintenance) will be a paid feature, offering advanced capabilities.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Editor Features
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;The &lt;strong&gt;Stellify Editor&lt;/strong&gt; functions like a standard code editor but generates structured JSON definitions of your code as you write. This provides a dynamic and structured approach to code development.&lt;/li&gt;
&lt;li&gt;It includes built-in &lt;strong&gt;version control&lt;/strong&gt;, so there's no need for external Git setups, though exporting to files and using traditional version control is also possible.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Deployment and Hosting Model
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Stellify can be deployed by linking the database containing JSON definitions to the open-source application.&lt;/li&gt;
&lt;li&gt;The app is hosted on &lt;strong&gt;Laravel Cloud&lt;/strong&gt;, where users can fork the Stellify repo and link their cloud environment to the forked version for deployment.&lt;/li&gt;
&lt;li&gt;There is no need for traditional file-based version control, as everything is stored in the database.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The Vision for Stellify
&lt;/h2&gt;

&lt;p&gt;Stellify is designed to replace traditional frameworks. With its structured JSON approach, it streamlines the development and maintenance process. Key advantages include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Dynamic Deployments:&lt;/strong&gt; Updating or deploying an application only requires modifying the JSON definitions in the database, rather than dealing with code files or complex deployment pipelines.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Granular Versioning:&lt;/strong&gt; Changes are tracked at the definition level, making version control and rollbacks much easier.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Collaboration and No Merge Conflicts:&lt;/strong&gt; Since everything is in JSON format, multiple developers can work on different parts of the application without worrying about merge conflicts or complex Git workflows.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Future Plans and Features
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Preconfigured Templates
&lt;/h3&gt;

&lt;p&gt;Once Stellify sees significant adoption, it will begin offering pre-configured environments or templates (e.g., “App with user auth,” “Blog platform,” etc.), providing ready-made solutions that reduce setup time and allow developers to jump straight into building their application. Templates will be based on community feedback and common use cases.&lt;/p&gt;

&lt;h3&gt;
  
  
  Community Feedback
&lt;/h3&gt;

&lt;p&gt;The team is looking forward to gathering solid feedback from the community to guide future decisions, particularly around which templates to create and how to improve the platform's features.&lt;/p&gt;

&lt;h2&gt;
  
  
  AI Integration in Maintenance and Development
&lt;/h2&gt;

&lt;p&gt;The AI assistant in Stellify will be a &lt;strong&gt;chat-based interface&lt;/strong&gt; for development assistance and &lt;strong&gt;prompt-based&lt;/strong&gt; suggestions for maintenance (e.g., recommending code changes). This allows for a controlled and predictable flow of updates while still enabling the platform to become more intelligent and autonomous over time.&lt;/p&gt;

&lt;h3&gt;
  
  
  Paid Features
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Development Assistance:&lt;/strong&gt; Chat-based AI integration will help with generating, refactoring, and suggesting code changes.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Self-Healing Maintenance:&lt;/strong&gt; Prompt-based AI will offer code updates or fixes, asking the user for approval to apply those changes.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Long-Term Vision
&lt;/h2&gt;

&lt;p&gt;Stellify aims to replace traditional frameworks with a more streamlined and structured approach to web development. By focusing on a dynamic, JSON-driven workflow, Stellify has the potential to drastically simplify the development and deployment processes for modern web applications.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>laravel</category>
      <category>ai</category>
      <category>javascript</category>
    </item>
    <item>
      <title>Introducing StellifyJS!!!</title>
      <dc:creator>Matthew Anderson</dc:creator>
      <pubDate>Sun, 09 Mar 2025 20:25:25 +0000</pubDate>
      <link>https://dev.to/matthew_anderson/introducing-stellifyjs-1n8g</link>
      <guid>https://dev.to/matthew_anderson/introducing-stellifyjs-1n8g</guid>
      <description>&lt;p&gt;I need/ want a Laravel like framework for my front-end development work that focuses on dependency injection/ contracts to help work with SOLID principles, especially Dependency Inversion (D in SOLID).&lt;br&gt;
In addition, I want to provide helper methods that result in the same type of elegant &amp;amp; expressive syntax you get in Laravel and built-in code that simplifies common tasks such as front-end authentication and form validation. I'm even contemplating building CLI stuff, similar to Laravel Artisan, to scaffold classes such as models that could mirror the models that exist on you Laravel web app and also provide an elegant (or should I say Eloquent!) ORM for manipulating data.&lt;/p&gt;

&lt;p&gt;I've made a start on development:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/Stellify-Software-Ltd/stellifyjs" rel="noopener noreferrer"&gt;https://github.com/Stellify-Software-Ltd/stellifyjs&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can install the package in your projects using npm:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.npmjs.com/package/stellifyjs?activeTab=readme" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/stellifyjs?activeTab=readme&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Lastly, I'm keen to hear people's feedback and if anyone wants to contribute to the project then by all means drop me a message or submit a PR!&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>laravel</category>
      <category>php</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Reactivity with Stellify</title>
      <dc:creator>Matthew Anderson</dc:creator>
      <pubDate>Thu, 17 Feb 2022 14:07:11 +0000</pubDate>
      <link>https://dev.to/matthew_anderson/reactivity-with-stellify-2nif</link>
      <guid>https://dev.to/matthew_anderson/reactivity-with-stellify-2nif</guid>
      <description>&lt;p&gt;I want to demonstrate through a series of written and video tutorials, how ridiculously easy it is to build reactive applications using &lt;a href="//stellisoft.com/blank?edit"&gt;Stellify&lt;/a&gt;. I'll start by replicating the example used as an intro to &lt;a href="https://vuejs.org/guide/introduction.html#what-is-vue" rel="noopener noreferrer"&gt;VueJs&lt;/a&gt;, a simple button that displays a counter that will increment with every click of the button.&lt;/p&gt;

&lt;p&gt;We'll begin by creating a new page and I'm going to add a button from the components menu.&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%2F6grc6462a33lzaavwwou.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%2F6grc6462a33lzaavwwou.png" alt="I add a button using the components menu" width="800" height="571"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The VueJS example initialises a variable to store the count, we'll do the same. Now, we store our application variables in what we call "state" or "application state" and there are multiple ways to create this variable:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Using the Navigator, we can dropdown the state inspector and add/ initialise the variable using the inputs provided.&lt;/li&gt;
&lt;li&gt;We can use the console, simply type
&lt;code&gt;$state.count$ 0&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;We can do the exact same thing as just described (in option 2) using the events tab within the page menu, only in this case, when you add the command &lt;code&gt;$state.count$ 0&lt;/code&gt; is executed when the chosen lifecycle hook is triggered i.e. mounted. If you choose "Mounted" the variable will be automatically initialised once the application is mounted or in layman's terms, upon page load.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I'll opt for option 1 in this case but I'd advise you give the other methods a try, especially if you're new to Stellify, as they will come in very handy when you're building your own functionality!&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%2Fe8mcmxhq7ivtopt876mw.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%2Fe8mcmxhq7ivtopt876mw.png" alt="I add a variable named count to the application state" width="508" height="384"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Next, we need to link the count variable to the button element, although what I'm actually going to do is insert a &lt;code&gt;&amp;lt;span&amp;gt;&lt;/code&gt; as a child element of the button tag and link the count variable to its text property. Insert an element, change its tag, select it and click on the "eye" next to the text input box in the Navigator. We're now in "watch mode". This means we need to head back to the top level where we can view the state inspector. Locate the count variable, click on its "eye" icon and voila, we've created a link and your span should display &lt;code&gt;0&lt;/code&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%2F685jxj2o6js62v43to6a.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%2F685jxj2o6js62v43to6a.png" alt="I link the span tag's text property to display the count variable by clicking the watch icon" width="506" height="360"&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%2F1kq3jfzaueymy02ggm8w.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%2F1kq3jfzaueymy02ggm8w.png" alt="I locate the count variable and click on its eye icon to establish a link" width="506" height="368"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Let's take stock, we have a button, we have a count variable set to zero and that variable is now on display within the button. Great work!&lt;/p&gt;

&lt;p&gt;All that's left to do is to increment the count variable when the button is clicked. To do that, I select the button; I click on "Edit selected element" and then I navigate to the events tab. From the events dropdown I choose "On Click", and then I input a command that will increment the variable. We can't use &lt;code&gt;count++&lt;/code&gt; or even &lt;code&gt;$state.count++&lt;/code&gt; (there is in fact an increment method but I want to stick with using the command line here), what we can say is &lt;code&gt;$state.count$ $state.count$+1&lt;/code&gt;. Notice there are no spaces in the expression, as with any command line, spaces represent parameters (important to remember!)&lt;/p&gt;

&lt;p&gt;Click the add icon within the console bar and the command will be attached to the button.&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%2Fqepvhsch57y2xv3nucqa.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%2Fqepvhsch57y2xv3nucqa.png" alt="Here is my screen showing the events menu and the command I'm attaching to the on click event of my button" width="800" height="238"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;There we have it, head back to your button, start clicking an watch that count variable increment right before your very eyes!&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%2Fwdce20p15rwmp1t4wodt.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%2Fwdce20p15rwmp1t4wodt.png" alt="Button displays zero" width="130" height="54"&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%2Ftza9uj3y81zlg1luv9m2.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%2Ftza9uj3y81zlg1luv9m2.png" alt="Button is clicked and it now displays 1" width="126" height="56"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As with VueJS or any reactive framework, that my friends is just the tip of the iceberg, there's a lot more that can be achieved and Stellify takes reactivity to a whole new level. Before long you will be building complex apps at a speed of knots!&lt;/p&gt;

&lt;p&gt;Stay tuned for more tutorials and in the meantime, check out the &lt;a href="https://www.youtube.com/channel/UC7z1yTDo1jjPEyAl51SKUDA" rel="noopener noreferrer"&gt;our You Tube channel&lt;/a&gt; for more news, tutorials, tips and tricks!&lt;/p&gt;

</description>
      <category>tutorial</category>
      <category>javascript</category>
      <category>webdev</category>
      <category>vue</category>
    </item>
    <item>
      <title>You say you want a [web development] revolution?</title>
      <dc:creator>Matthew Anderson</dc:creator>
      <pubDate>Thu, 04 Feb 2021 11:49:22 +0000</pubDate>
      <link>https://dev.to/matthew_anderson/you-say-you-want-a-web-development-revolution-4a9g</link>
      <guid>https://dev.to/matthew_anderson/you-say-you-want-a-web-development-revolution-4a9g</guid>
      <description>&lt;p&gt;For too long now web development has trundled along, leaving a bunch of disenfranchised creative people clinging to various "communities". People who thought they were getting involved in something exciting, something where they could express their creativity, only to left dead in a ditch by "big tech" companies. Don't fear! Like the Yo-Yo, things come back around. At Stellisoft, we're starting the Indie Developer fight back.&lt;/p&gt;

&lt;p&gt;One of, if not &lt;em&gt;the&lt;/em&gt;, major problem with web development is the disparate nature of it these days. Do you use Vue? React? Preact? Angular? Alpine? Coconut? Sausage? Pineapple? What does it matter? It's what you're actually developing that matters surely? You could spend your entire life following the development of libraries and frameworks, buying T-shirts, attending events and wind up building nothing of any worth whatsoever.&lt;/p&gt;

&lt;p&gt;I'm not levelling all the blame at the easily lead souls that do this. I understand, I've found myself doing it more than once. Effective marketing is a powerful tool. However, if anything interesting is going to happen in the sphere of web development ever again, we need to take a step back and start to find our way out of the rabbit hole.&lt;/p&gt;

&lt;p&gt;I've built the foundations of a platform that removes the vice of becoming obsessed with extra-curricular programming activities and focuses exclusively on development. We're launching on Product Hunt today. I hope you come and find us and not just follow what we're doing, but get involved! It won't be a revolution without you.&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
