Unleashing Creativity: How Ansell Built Cycle Doodle Using DevCycle
Today's DevCycle Spotlight features Ansell Maximilian, a developer who won the first DevCycle Feature Flag Challenge on Dev.to!
The challenge encouraged entrants to build a fun and creative project using DevCycle. He took the top prize with his inventive Cycle Doodle project. Judges loved the creativity of Ansell's project as well as his choice to build the app exclusively with DevCycle services and features.
Using DevCycle to Build Cycle Doodle
Ansell created a web game that allows users to join one of three teams and either draw a simple image based on a prompt, guess what other teams have drawn or rate the drawings of other teams.

How Ansell Used DevCycle Features to Create a Winning Project:
- Team Assignments: DevCycle was used to dynamically group users into teams (Grid Goblins, Edit Emperors or Paint Paladins). Each team had unique advantages like larger grids or additional paint colors, which were configured using JSON feature flags.
- Role Cycling: DevCycle's API was used to shift team roles (Drawer, Guesser, or Voter) seamlessly. This was managed through a Feature that served different roles to each team based on their Audience.
- Game Data Management: Forgoing a traditional database, Ansell opted for DevCycle's Feature Variables to store and update game prompts, drawings and guesses. This allowed all users to access the same game data in realtime.
- Admin Controls: An "Admin" Audience and feature flag were created to restrict access to specific admin controls like creating or deleting prompts or ensuring secure and controlled updates.

DevCycle Features That Stood Out
- Feature Toggle for Live Apps: "One of the most compelling features of DevCycle is the ability to toggle features on/off even in live applications," Ansell shared. It was a huge plus for him that DevCycle uses Ably to serve these experiences as he'd used this tool in the past.
- Dynamic Value Serving: DevCycle isn't limited to on/off feature flags, it allows developers to serve various types of values like Number, String, or JSON. "This flexibility is something I leveraged extensively in my project to differentiate team functionalities and manage game states," noted Ansell.
- Audiences: DevCycle allows users to create audiences based on specific attributes like user ID, app version, country, platform or custom properties.
- Powerful APIs: Ansell appreciated that "the APIs provided by DevCycle are robust and well-documented." They allowed him to dynamically update audiences, cycle team roles and manage game data programmatically without needing a backend database.
"DevCycle has been an invaluable tool, offering flexibility and efficiency in managing features and user experiences. The ability to toggle live features, serve dynamic values and a very complete list of APIs combine into one amazing service. For someone like me, who's constantly exploring new technologies, DevCycle has opened up exciting possibilities, whether it's simplifying live app management or enabling creative projects, DevCycle delivers on all fronts." - Ansell Maximilian
More About Ansell Maximilian
Ansell started his professional journey as a web developer and currently works at a B2B tech company that develops software solutions for businesses in the fast-moving consumer goods industry as an Android developer.
Ansell shared some insights from his time as an Android developer, "My experience as an Android developer has taught me how tedious it is to prepare an app for a release; since the Play Store has so many policies, we really make sure everything is working by doing things like quality assurance, regression testing, etc. We want to avoid the hassle of re-releasing as much as possible... this gave me perspective on how useful something like DevCycle would be. Imagine we put new features under feature flags. If something goes wrong, we don't have to fix it immediately and work outside work hours, we could just turn off the feature from the DevCycle dashboard and time our time fixing the problem within work hours."
In his free time Ansell experiments with new technologies to keep his skills sharp beyond Android development, so he participates in many dev challenges and hackathons.