# Green Rose Systems > A software studio designing and building durable systems for businesses growing into the long term. Founded 2026. Los Angeles, San Francisco, New York. Products span iOS, open source, and research. Green Rose Systems was founded by [Peter Laffey](https://peterlaffey.com), a staff-level software engineer with roles at Reddit and Tinder, and the creator of Signal-Driven Development — a method for doing software engineering with LLMs that constrains the inherent error in their output and reduces information loss in human-to-LLM communication. ## Practice The studio works across four dimensions: - **Product engineering.** New products people can use. iOS, Android, Web. - **Open systems & platforms.** Open-source tools, systems, plumbing. - **Research.** LLM and AI orchestration. Picks and shovels, smaller-model research, arranging the pieces in new ways. - **Advisory.** Technical counsel — meets you where you are. ## Products ### Glitchforge: Datamosh Studio URL: https://greenrosesystems.com/glitchforge.html App Store: https://apps.apple.com/us/app/glitchforge-datamosh-studio/id6794509122 Glitchforge is a native bitstream corruption engine for video. It runs as an iOS app, and soon as an open-source desktop app you can download from GitHub or from this site. Datamosh in the raw bitstream. The engine is written in Rust on top of FFglitch, with ground-up re-implementations of the MPEG-2, MPEG-4 Part 2, H.264, and H.265 (HEVC) decoders. It edits compressed video at the codec level, manipulating motion vectors, transform coefficients, and quantizers directly, without crashing the host process. HEVC support in particular is rare: modern high-efficiency streams have strict inter-frame dependencies that ordinary datamosh tools cannot survive. Effects include datamoshing (where motion detaches from imagery), scrambled coefficients, warped blocks, posterization, VHS and analog decay, bloom, ghosting, channel desync, and pixel sorting. Load clips, build effect chains, adjust settings, scrub frames, export. Any effect can be aimed at a region of the frame or a window of time, and animated across the clip. The rack UI lets you drag, reorder, bypass, and solo stages before you render. Everything runs on the device. No account, no subscription, no ads, no network. ### Cascade: Drop & Merge URL: https://greenrosesystems.com/cascade.html App Store: https://apps.apple.com/us/app/cascade-drop-merge/id6790956585 A calm physics puzzle you can hold in your hand. Drop a piece into the tray. When two of the same touch, they merge. Keep merging and the pieces start to chain. Chains grow into cascades. Cascades build into bursts. The kind of thing you pick up for a minute and put down twenty minutes later. Tilt your phone to steer the pieces if you want. Two modes: Endless when you have time, a daily puzzle when you don't. Multiple skins to pick from. Generative music with a few different moods. Change either whenever. Free. No ads. No IAP. No timers. No account. ### Audio Object URL: https://greenrosesystems.com/audio-object.html App Store: https://apps.apple.com/us/app/audio-object/id6783546700 A four-track looper and recorder. Go from idea to demo recording very quickly. Use the built-in metronome as a drum machine, record some music off YouTube, and there's a usable beat you can chop live by adjusting the loop lengths. Or put on your wired headphones with a microphone, sit down at the drum kit and record the drum part, walk over to your bass and record a bass part, walk over to the guitar and record a guitar part, then record a vocal into the microphone — all without going to a mixer or moving microphones around. Also for experimental music. Rearrange beats, songs, or whole tracks in real time — soloing and muting parts, changing the loop length of every part, looping around different sections of each track — and do it all live and record it as you go. Output an audio stream directly to Ableton or any DAW, send MIDI clock out to control it, and export all files plus a click track for import into any DAW. Built in a faceted design style, modeled as a rectangular solid — a six-sided object where each screen is one face. Almost no buttons: aside from a few sensible shortcuts, you get around by rotating the object until the face you want comes around, instead of tapping through menus or hitting a back button. Made to feel like a real object instead of a screen — wood, knobs you have to turn. ### Video Thing URL: https://greenrosesystems.com/video-thing.html App Store: https://apps.apple.com/us/app/video-thing/id6814723609 A live video instrument for iOS. Think of it as a musical instrument, not an editing app. No timeline, no clip bin, no export queue. Load up your videos, turn the knobs, and the picture responds the moment you touch anything. When it looks right, hit record. When you stop, the file is already on your camera roll. The idea comes from video synthesizers — the hardware boxes people used to mix live visuals at concerts. Big rack units, table-full-of-knobs, expensive. Video Thing puts the same feel in your pocket. Four sources, one live mix, every control on-screen and under your thumb. Perform with clips from your camera roll, with whatever the front or back camera is pointed at, or with a live signal generator that draws noise. Wire the audio's frequency bands into any effect parameter so the picture moves with the music. Every take is a performance. ## Open source ### cascade-img URL: https://greenrosesystems.com/cascade-img.html Repository: https://github.com/laffeyp/cascade-img A visual asset generation pipeline an LLM can run. You tell an AI assistant what you want — by voice or text — and it composes the prompts, generates the images or video, picks the good ones, cleans them up, and files them away. Instead of making one picture at a time on a paid service, you generate by conversation and let the assistant manage the whole process. You work as critic or director, not operator. Set a moodboard and a reference image, then move through batches fast — "yes, I like that"; "no, wrong direction"; "let's go back two"; "make that the reference style now" — conversing with the assistant instead of typing prompts yourself. Everything is recorded: each attempt, the prompt, the result, why it was kept or discarded — into a log the assistant reads back next time. The generator it drives today is Midjourney — no public API; the only way in is its Discord bot. cascade-img automates the whole Discord flow. It splits the prompt into composable parts you set independently and exposes the loop through an MCP server, so the agent can compose, generate, curate, and log without your input on every generation. Other backends (Flux, DALL·E, Imagen) slot in behind the same interface. ### substrate URL: https://greenrosesystems.com/substrate.html Repository: https://github.com/laffeyp/substrate Package: substrate-kernel on PyPI Substrate is an abstract computational orchestrator. A Python 3.12+ runtime that composes any callable — an LLM, an ML model, a deterministic transform, a subprocess, a parser, a simulator — into a single coordinated run. Anything that takes typed input and emits typed events plugs in as a Producer. The computational orchestrator runs Producers concurrently and coordinates them through one append-only log. Every event, every runtime decision about what to start next, lands on that log. Framed, CRC-protected JSONL. Replay it, diff it, or inspect any point. Nine named pieces carry the design: Producer (typed input, streams typed Events), Bus (totally-ordered append-only log per run), View (running summary), Predicate (yes/no over Views), Trigger (starts a new Producer), Route (data from past events into future input), TerminationPolicy (when the run ends). Pieces compose into topologies whose shape grows as the run unfolds. Eight topologies ship with committed records: code_review, coding_flow, debate, adversarial_pair, planner_solver, simulation, tool_loop, retry_pipeline. PolyForm Noncommercial 1.0.0. ### substrate-ui URL: https://greenrosesystems.com/substrate-ui.html Repository: https://github.com/laffeyp/substrate-ui A console for watching, steering, and authoring Substrate runs. Three capabilities on the real runtime. Observe. Record rail lists runs. Run-as-graph lights up firing-anchored Producer-instance lifespans with spawn-cohort bands. A static topology view shows the authored Producers, Triggers, Views, Routes, TerminationPolicy. Event stream scrolls alongside. Provenance inspector traces any event back through the chain that produced it. Control. Launch a bundled topology, resume a paused run, or live-attach to follow a run as it writes. Author. The Studio offers structured-form and drag-canvas authoring of Producers, Views, Triggers, Predicates, Routes, and composed TerminationPolicies. Build and launch a genuine recorded run from the canvas. No framework, no build step, no CDN. Vanilla JS frontend, stdlib Python backend. Import-boundary test enforces the runtime-public-surface rule. PolyForm Noncommercial 1.0.0. ### traveler URL: https://greenrosesystems.com/traveler.html Repository: https://github.com/laffeyp/traveler A prototype TypeScript factory-execution record system. Reads a single fixed contract of sixteen registry YAML files. 132 operations, 136 events, 43 records, 16 state machines, 33 authorization rules registered. 129 of 132 operations are built; three unbuilt with recorded reasons in code. Specifications were reverse-engineered from public sources (industry standards, published architectures, job postings, open-source projects, regulatory guidance) using a language model and Signal-Driven Development. Three governing document sets are closed. A nine-document founding stack. A receiving-evidence boundary where 15 of 15 criteria pass. An access-and-visibility boundary where 18 of 18 criteria pass or pass-in-part. TypeScript on Node. In-memory and node:sqlite storage drivers. 38 scenarios covering 779 steps. 432 tests across 58 files. Apache 2.0. ## Research ### large-price-model URL: https://greenrosesystems.com/large-price-model.html Repository: https://github.com/laffeyp/large-price-model A transformer predicts the next fifteen-minute return of the SPDR S&P 500 ETF (SPY). Reads eight years of fifteen-minute bars (2015–2022) across twenty parallel time series. One is SPY itself. The rest carry other stocks, currencies, macro releases, options data, and calendar events. For each bar the model outputs a probability distribution over thirty-two buckets of the next return. Buckets are quantiles of the training-set return distribution, turning return prediction into bucket classification — the task a language-model architecture is built for. A held-out window covering 2024-01 through 2025-06 was set aside before training and may be read at most three times over the project's lifetime, enforced by a filesystem guard and a commit-message hook. Three baselines read only the target's own bucket history — a linear softmax, a three-layer MLP, and a one-layer GRU — each tuned over learning rate and weight decay. Across five seeds the transformer reaches 3.180; tuned linear 3.256, MLP 3.212, GRU 3.219. Every transformer seed beats every baseline seed. A uniform guess over thirty-two buckets scores 3.466. The gain lives in the shape of the distribution. The transformer narrows its bet on which bucket the return will land in. A simulator opens and closes positions based on the predictions and keeps a ledger, reporting Sharpe (average return divided by return volatility, annualized) with an error bar from block-bootstrap resampling. Apache 2.0. ## Founder Green Rose Systems was founded by Peter Laffey. Staff-level software engineer in Los Angeles. Roles at Reddit and Tinder. Economics and computer science at Columbia University, concentration in intelligent systems. Creator of Signal-Driven Development. At Tinder / Match Group he owns the payment backend end-to-end — microservices and caches at Match Group scale (~$3B annual revenue, $1.7B Tinder Direct Revenue, ~$41B market capitalization at the 2021 peak), with correctness under partition and retry as the load-bearing property. The surface covers every App Store and Play Store integration; subscription management behind Tinder Gold and Tinder Platinum; the consumables surface (Super Boost, Boost, Super Like); the user-entitlement system that decides in real time which tier, consumable balance, and feature gate applies to any given user across every read path in the product; the tax system; the promo-code system; paywall automation; the zip-code / location system that scopes offers by geo; asynchronous payment reconciliation that keeps app-side entitlement in sync with Apple, Google, and internal ledgers under partition; dunning and auto-renewal; user-fetching services that carry the funnel's read paths; fraud-detection systems that adjudicate chargeback fraud, refund abuse, promo abuse, and subscription fraud; and third-party integrations across the payments perimeter — Apple, Google, tax vendors, fraud vendors, analytics platforms. He ships the request-locking service that guarantees cross-microservice idempotency, and leads cross-team and cross-company projects to on-time delivery against vaguely defined requirements. At Reddit he rebuilds the paid-feature system — Reddit Gold, awards, the digital-goods surface — and contributes to the Collectible Avatars / NFT program. Platform scale ~73M daily active users, ~$800M annual revenue, $6.4B IPO valuation. Cross-reference: - Personal site: https://peterlaffey.com - LinkedIn: https://www.linkedin.com/in/peter-laffey/ ## Contact - Engagements: info@greenrosesystems.com - Support: support@greenrosesystems.com