Tools and Techniques for Building Combined Rails and SPA Applications
Table of Contents
Background
This summarizes some of the better tools available as of June 2016 with a focus on combined Rails and SPA applications.
Tools
Design and State
Initial Mockup
Component Breakdown
- Application
- Toolbars
- Panels
- Sub-panels
Presentational Components
For the feature under development what are the display elements that are essential to the application.
Mock Data
Lifecycles
- System (https://github.com/stuartsierra/component)
- User (authentication, list, show, sign-out)
- Components (mounting, properties, updates)
Events and Reducers
This requires an understanding of the flow in the application of the events that would flow through the system.
Refactoring
Testing
Build
Watchers and LiveReload are the most sigificant gains.
Logging
Inspection
- RailsPanel
- React DevTools
Developer productivity stack 2016 → 2026
The 2016 list above describes a single application's tooling. The broader picture is a layered stack — editor, linter, formatter, test runner, CI, deploy — that gained a new dominant tool roughly every 1-2 years. The diagram below traces what was added at each layer between 2016 and 2026, separating the "build-and-deploy era" (2016-2020) from the "AI-assisted era" (2021-2026).
// Developer productivity stack 2016-2026 — layer additions across two eras digraph dev_productivity_stack { rankdir=LR; graph [bgcolor="white", fontname="Helvetica", fontsize=11, pad="0.3", nodesep="0.25", ranksep="0.55"]; node [shape=box, style="rounded,filled", fontname="Helvetica", fontsize=10, fillcolor="#f5f5f5", color="#888"]; edge [color="#aaa"]; // Build-and-deploy era 2016-2020 — Tailwind sky/blue family subgraph cluster_build { label="build-and-deploy era 2016-2020"; labeljust="l"; color="#0284c7"; fontcolor="#0284c7"; style="rounded,dashed"; e_2016 [label="editor\nLSP 1.0 (Microsoft, 2016)", color="#0284c7", fontcolor="#0284c7"]; l_2017 [label="formatter\nPrettier 1.0 (Long, 2017)", color="#0284c7", fontcolor="#0284c7"]; t_2017 [label="test runner\nJest mainstream (2017)\nplaywright not yet", color="#0284c7", fontcolor="#0284c7"]; c_2019 [label="CI\nGitHub Actions GA (Nov 2019)", color="#0284c7", fontcolor="#0284c7"]; d_2020 [label="deploy\nArgo CD / Flux (CNCF 2020)", color="#0284c7", fontcolor="#0284c7"]; } // AI-assisted era 2021-2026 — Tailwind violet/fuchsia family subgraph cluster_ai { label="AI-assisted era 2021-2026"; labeljust="l"; color="#7c3aed"; fontcolor="#7c3aed"; style="rounded,dashed"; e_2021 [label="editor + completion\nGitHub Copilot GA (Jun 2021)", color="#7c3aed", fontcolor="#7c3aed"]; e_2023 [label="IDE fork\nCursor (Anysphere, 2023)", color="#7c3aed", fontcolor="#7c3aed"]; e_2024 [label="terminal agent\nAider, Cline, Continue (2023-24)", color="#7c3aed", fontcolor="#7c3aed"]; e_2025 [label="agentic coding\nClaude Code (Feb 2025)\nCodex CLI (Apr 2025)", color="#7c3aed", fontcolor="#7c3aed"]; m_2021 [label="metrics\nSPACE framework (2021)\nDORA Accelerate matures", color="#db2777", fontcolor="#db2777", fillcolor="#fdf2f8"]; } // Layer flow — left to right e_2016 -> l_2017 -> t_2017 -> c_2019 -> d_2020 [label="layer adds", fontsize=9, color="#0284c7", fontcolor="#0284c7"]; // Era bridge — build era hands off to AI era d_2020 -> e_2021 [label="era shift", style=dashed, color="#7c3aed", fontcolor="#7c3aed"]; // AI era progression e_2021 -> e_2023 -> e_2024 -> e_2025 [label="agentic", fontsize=9, color="#7c3aed", fontcolor="#7c3aed"]; // Metrics layer feeds back across both eras c_2019 -> m_2021 [style=dashed, color="#db2777", label="DORA inputs", fontsize=9, fontcolor="#db2777"]; e_2025 -> m_2021 [style=dashed, color="#db2777", label="DX surveys", fontsize=9, fontcolor="#db2777"]; }
Related notes
- CI/CD in 2020 — the canonical pipeline shape that GitHub Actions and Argo CD eventually consolidated
- 2025 terminal AI agents — the Claude Code / Aider / Cline ecosystem that replaced IDE-only Copilot completions
- Claude Code with Ollama — local-model substitution for the agentic coding layer added in 2025
- Agentic workflow 2026 — multi-agent orchestration as the next layer above single-agent IDE tools
Postscript (2026)
The 2016 note framed productivity as Rails + SPA tooling — Redux, Immutable.js, RailsPanel, hot reload. Ten years later the actual productivity revolution turned out to be something this note didn't hint at: AI-assisted coding. The timeline is short and dense.
GitHub Copilot launched in technical preview on 29 June 2021 and went GA on 21 June 2022, priced at $10/month — the first mainstream pair-programming product backed by a code-trained transformer. OpenAI's first standalone Codex CLI followed in April 2025. Anthropic released Claude Code alongside Claude 3.7 Sonnet on 24 February 2025 as a research preview, then made it generally available in May 2025. Cursor (Anysphere) shipped its VS Code fork in 2023 and crossed $100M ARR in 2024. Aider (Paul Gauthier) and Cline (formerly Claude Dev, Saoud Rizwan) built the same loop in the terminal and as a VS Code extension respectively, both in 2023-2024.
The measurement layer matured in parallel. Forsgren, Storey, Maddila, Zimmermann, Houck, and Butler published "The SPACE of Developer Productivity" in ACM Queue in March 2021, framing satisfaction, performance, activity, communication, and efficiency as five non-substitutable dimensions. The DORA program — started inside DORA Inc., acquired by Google in 2018 — produced annual Accelerate State of DevOps reports that calibrated deploy frequency, lead time, change failure rate, and MTTR as the canonical four metrics. The DX research group (Abi Noda et al.) and the McKinsey 2023 "Developer velocity" work pushed survey-based DevEx into vendor-bought tooling.
The lingering question, ten years on, is whether any of this measurement helps. Goodhart's law has bitten hard: lines-of-code proxies, PR counts, and even DORA's four keys get gamed when tied to performance reviews. Kent Beck and Gergely Orosz have argued publicly that the SPACE/DORA frameworks were always intended as diagnostic tools, not management dashboards, and that the AI-assist era makes activity metrics even more misleading — Copilot acceptance rates and "AI-generated lines" are the new vanity numbers. The honest answer in 2026 is that the productivity floor moved (a junior with Claude Code ships at the rate of a 2016 mid), the ceiling barely moved, and the measurement debate is unresolved.
