Skip to content
View cliffhall's full-sized avatar
πŸ‘‹
Down with MCP?
πŸ‘‹
Down with MCP?

Organizations

@PureMVC @Culturalyst @Lala-NFT

Block or report cliffhall

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
cliffhall/README.md

Cliff Hall

πŸ’₯ Availability for Consulting

I consult corp-to-corp through my company Futurescale.

  • πŸ” - My primary focus is artificial intelligence, specifically enabling teams of agents to perform long horizon tasks with MCP.
  • 🧭 - I was recently invited to become a member of the Model Context Protocol maintainers and steering committee.
  • πŸ“… - If you'd like to hire me or just chat about something interesting, you can grab a slot on my calendar.
  • πŸ“‹ - Here are my resume and recommendations if you're interested.
πŸ”ͺ Sharpest Blades in the Drawer

Software Engineering

I've slung a lot of code since the days of 6502 assembly for C64 and the Apple ][. Here's where I'm strongest at the moment.

  • React
  • Node
  • JSX
  • Typescript
  • JavaScript
  • OpenAI API
  • Model Context Protocol (MCP) - I am a contributor and maintainer

Project Leadership

I enjoy leading remote, globally distributed teams to success. This requires continuous integration, unit testing with an aim for 100% coverage, and rigorous code review. It makes a team stronger and certainly elevates code quality. The highest compliment for a team I've led was that the codebase appeared as if created by one person.

A common thing I see is domain language drift across teams and departments acting as a major source of friction and misunderstanding, both internally and with . That's why I approach new projects with domain-driven design, i.e., agree upon the things and the processes that operate on the things first (nouns and verbs). Build a glossary for the project and everyone from code to marketing is on the same page from the jump.

Software Architecture

With every new system design, I am guided by Einstein's maxim: "As simple as possible, no simpler."

Within modular software, the biggest problem is separation of concerns, e.g., not muddling view handling responsibiilities with business logic and domain logic. As opposed to toolkits which offer a grab bag of utilities, frameworks help developers focus on requirements by providing a set of actors with roles, relationships, and collaboration patterns that solve for separation of concerns.

When I began working for large enterprise clients, I noticed that the frameworks avaialble for the prevalent development stacks were overcomplicated and made maintenance harder. Junior team members often struggled to understand the collaboration patterns at play between the framework actors. This led to messy, confusing code that is hard to maintain.

So in 2004, I created the PureMVC Framework. PureMVC is a lightweight, object-oriented MVC architecture that was eventually ported to over 15 programming languages and is still used today. Also wrote the O'Reilly book.

🧠 Currently Focused on AI

Building Agents

  • ✨ Model Context Protocol is an open protocol that enables seamless integration between LLM applications and external data sources and tools. I am a contributor, maintainer, and member of the MCP Steering Committee.
  • ✨ Puzzlebox is an MCP server that hosts finite state machines (called puzzles). With the GooseTeam project, we learned that attempting to make agents collaborate with a protocol for collaboration can generate results. But where it gets muddled is with non-trivial projects that need to employ phases. Inception, specification, design, building, etc. Within one of those phases an approach like GooseTeam can work well. This is where Puzzlebox comes in. It exposes tools to create and manipulate puzzles, moving state machines through their states. Clients can subscribe to individual state machines to receive updates when their state and available actions change.
  • ✨ GooseTeam is an MCP server I wrote for enabling collaboration between a team of Goose agents. Given an arbitrarily complex project such as outlining a television series pilot or creating a non-trivial software application, the agents utilize tools exposed by the MCP to plan, assign, and complete tasks in service of the goal. This project is pioneering the use of mermaid markdown for controlling agents.

Solving Domain-specific Problems with AI

  • ✨ At Culturalyst, I recently built an arts and culture focused, city-specific AI assistant for improving artist discovery. Separately, I overcame a showstopping issue with gathering artist opportunities from around the web and delivering to subscribing artists those relevant to their discipline and experience. With AI, I was able to classify opportunities from arbitrary sites into our taxonomy, normalizing the data into our domain model such that they appeared to have been entered through our own UI.
  • ✨ With PlotRocket, an AI-assisted series planner and episode outliner, I am combining artificial intelligence with common industry practices for creating episodic fiction, yielding a tool capable of planning multiple seasons of a television series down to the scene and beat. With or without the use of AI. It allows anyone to turn an idea into an engaging episodic story.
πŸ•₯ Previously on...

Since founding Futurescale in 2004

β›“ An on-chain builder through multiple bulls and bears
  • Boson Protocol - A decentralized protocol for commerce.
  • Vinyl Registry - Pairing NFTs and limited-release rare vinyl.
  • Avastars - The first generative collectibles with on-chain art & metadata.
  • Fismo Protocol - Cloneable EVM-based finite state machine protocol.
  • KnownOrigin - Royalties & collab fund splitting. Since bought by eBay and closed down.
  • Seen Haus - Diamond-based, open-source physical & digital NFT marketplace. Since bought by Propy.
  • Nifty Cannon - Make it rain NFTs! Zero-fee bulk NFT transfer.
  • In-App Pro Shop - NFT-based in-app purchases for Ethereum.
  • Pass On - Affiliate Marketing for the Web3 generation.

Letting crypto go

In 2018 I began working with Solidity, convinced that NFTs (not crypto) might actually be useful. I documented my developer journey in a webseries as I discovered how radically different the field was from any other language or environment I had ever worked on. It was bewildering, interesting, and greenfields as far as the eye could see. Everything hadn't been built, and the possibilities were endless.

Since then, crypto scams and the vicissitudes of the market have made it impossible to work in as a professional developer for hire, so I have decided to redirect all of my focus to AI, but I learned a lot on my blockchain journey, and met a lot of great people along the way.

πŸ“ˆ Enterprise and government work
πŸ•³οΈ Scrappy startups that didn't make it
  • Ahead - An infinite canvas app. Named on 3 international patents as a result of our work.
  • LaLa - Connecting fans with media franchises via NFTs & revenue sharing.
  • Olympus - Base your crypto trading decisions on verified Information
πŸ“– Teaching what I know
  • PureMVC World Tour - Talks at Adobe sites, events and user groupes from San Francisco to London to Hamburg and Copenhagen.
  • O'Reilly PureMVC Developer Guide - Lessons from 10 years of PureMVC engineering and community work in book form.
  • Adobe Flex Instructor - Certified onsite instruction of dev.
  • Building on Ethereum - A Solidity and React book I wrote.
πŸ”₯ Side projects keep the fire burning
  • Tangential - Sci-fi novel about alien invasion, government conspiracy, quantum entanglement, and tangential timelines.
  • Emergent Behavior - The 2024 Sea of Arrows album. Available on Spotify, YouTube Music, iTunes, etc.
  • PureMVC Framework - Lightweight MVC architecture ported to over 15 programming languages.
  • Page Fight! - Readers helping authors be more awesome. And keeping score.
  • Sinewav3 - 3D music visualizer with built in plugin development environment.
  • PlotRocket, an AI-assisted series planner and episode outliner.
  • Zarqon - A secure, cloud-based software licensing product.
  • Loop Dust - A generative audiovisual art project.

Pinned Loading

  1. puzzlebox Public

    An MCP server that hosts finite state machines as dynamic resources that multiple clients can subscribe to and be updated when their state changes.

    TypeScript 9

  2. GooseTeam Public

    Look, a flock of geese! An MCP server and protocol for Goose agent collaboration.

    TypeScript 33 5

  3. iterating-react-design Public

    Final code for "Iterating a React Design with Styled Components" article on CSS-Tricks

    JavaScript 15 2

  4. node-multi-server-chat Public

    A mesh topology multi-server chat example built with Node and Socket.io

    JavaScript 29 8

  5. PureMVC/puremvc-typescript-multicore-framework Public

    PureMVC Multicore Framework for TypeScript

    TypeScript 97 54

  6. PureMVC/puremvc-typescript-util-statemachine Public

    PureMVC State Machine Utility for TypeScript

    TypeScript 1