Brief
Paradime makes a cloud code editor for dbt, the SQL framework analytics teams use to model data. The editor had no help in context, and no place for users to share their work.
The brief: help analytics engineers get guidance, publish their work and find extensions inside the editor, in as few clicks as possible.
Slogs
Snippets that span several files, and use dbt’s folder layout to apply themselves.
Extensions
Integrations and plugins, such as error detection like Intellisense.
Q&A
Questions about code, answered by the community, like Stack Overflow.
Threads
Open discussion, like Twitter, to bring more users and contributors in.
Dimes
A currency for contributing. Earn them with slogs and plugins, or buy more.
Users
We read through the dbt Slack community and talked to people who had built pipelines with dbt. Three groups came out of it.
Career switchers
Product analysts and data scientists moving into analytics engineering
Frustrations
- Reading dbt and building pipelines
- Debugging with no help in context
- Little feedback from the community
Goals
- Upskill, and move into data engineering roles
- A forum that answers quickly
- Demo projects across use cases
Experienced engineers
35 and over, fluent in dbt modelling
Frustrations
- Compliance and data security rules
- Coordinating analysts, engineers and consultants
- Few tools that integrate well
Goals
- Bring dbt into their company’s stack
- Pipelines that stay compliant
- Talk about what’s new in dbt
New engineers
18 to 25, recent graduates
Frustrations
- Onboarding to SQL after Python
- Debugging across many files
- Finding help, and use cases in other domains
Goals
- A setup with no roadblocks
- A forum for code questions
- Learn how pipelines fit together
Most of them valued data integrity and security above all. Many were also uneasy with version control, though dbt projects rely on it.
Help today
Help for dbt lives outside Paradime, in dbt’s Slack, its forum and Stack Overflow. An engineer leaves the editor, finds a snippet, then edits each file by hand. The goal was to reverse that flow.
People in the dbt Slack community in mid-2021
dbt Community members by 2024
Companies using dbt every week, 2024
Figures reported by dbt Labs: Series C coverage, 2021, and a 2024 job posting. Added for this page.
Goals
Help in context
Snippets, extensions and answers inside the Code IDE, with no setup.
A place to show work
Share and find slogs, extensions, templates and projects, and talk with peers.
Reverse the flow
Make Paradime the first stop for dbt users, instead of the dbt communities.
MVP 1: the community
Four parts, each reachable from the editor and from a community page.
Overview
Slogs and extensions help inside the editor. Forums and projects hold everything people share.
Slogs
A slog is an executable snippet whose change spans several files. Like a notebook, it mixes code with text. It follows dbt’s folder layout, so it knows which file each change belongs in.
Play mode opens each file in turn and highlights where the change goes, in the right order. View mode opens the .slog file itself.
- 1Header
Name, description and author. The library shows these, with ratings and runs.
- 2Text
Plain sentences between changes explain the why, as in a notebook.
- 3Instructions
Each one names a folder, a file and the change. Their order is the order play mode follows.
A library
Paradime’s own slogs and the community’s, searchable from the editor.
Tested first
Every slog is tested before it joins the library, so it can’t change a project in ways nobody expected.
Made for dbt
Slogs work with dbt’s own parts: models, macros and the YAML files that tie them together.
Code help
One hotkey opens code help from anywhere in the editor. A question returns slogs and community answers together.
Slogs 3 of 12
Switch to a production target
Jacob Jones3 files · 4 steps★ 4.8
Separate dev and prod schemas
Jenny Wilson2 files · 2 steps★ 4.5
Toggle the target with an environment variable
Arlene McCoy2 files · 3 steps★ 3.9
Q&A 3 of 41
Run only against prod in CI, but dev locally?
Answered6 answerstargetsci
Different materialization per environment
Answered3 answersconfig
Prod schema names get a dbt_ prefix
2 answersmacros
- 1One hotkeyOpens over any file. No click needed.
- 2View or playRead the slog first, or run it straight away.
- 3Answers from peopleQ&A results sit under slogs, with votes and tags.
- 4AskIf nothing fits, the question goes to the community.
Extensions
Integrations bring the tools Paradime already connects to into the editor. Plugins change the editor itself. The best are on by default: syntax highlighting, auto-indent, autocomplete like Copilot and documentation pop-ups like Intellisense.
Community plugins can be switched on in settings, at the user’s own risk. Tags tell integrations, interface changes and features like auto-indent apart.
Installed by Paradime, on by default
Syntax highlighting
Docs on hover
Autocomplete
Recommended for this project
Auto-indent
SQL lint rules
Midnight theme
Dimes this month90 of 100 free
Install or remove plugins to see the monthly dimes change.
Community
The community page holds threads, Q&A, blogs, slogs, extensions and projects. It is one click from the home page and from the editor.
Q&A
Code questions with specific answers, improved over time, like Stack Overflow.
Threads
Talk about pipelines, dbt events and practice. Not for how-to questions.
Blogs
Paradime already wrote these. Now the community can too, for dimes.
Projects
Share a repository. Others can clone it and build something better.
Incremental models, done right
Publish a slog that sets up an incremental model with a merge strategy. The top three verified slogs share 3,000 dimes.
Threads
How do you structure staging models for 40+ sources?
JWJenny WilsonExpert462h
Talk ideas for Coalesce this year
DRDevon LaneBuilder235h
Snapshots or incremental models for slowly changing dimensions?
AMArlene McCoyMentor311d
QuestionsAsk a question
A unique test fails only on the prod target
Answeredteststargets4 answers
Pass a var from dbt_project.yml into a macro
No answers yetmacrosjinja
Trending slogs
Top contributorsMarch
- 1Dime balanceAlways in view, one click from buying or earning more.
- 2ChallengesParadime, partners or developers set a task and a prize.
- 3Votes and ranksRanks come from what people publish, the votes they get and the help they give.
- 4Straight to the editorA slog plays in the editor from the community page.
MVP 2: incentives
Rewards that keep people contributing, built on a currency called dimes.
Incentives
We borrowed from game design, with rewards that make taking up Paradime more fun. We grouped them into three kinds and called it ACE.
Ranks for what you make
Ranks come from slogs and extensions published, votes and help given. Top plugins move into the editor, and their makers earn dimes. At launch, the highest rank goes to known dbt voices.
Rewards for helping others
Challenges and bug bounties from Paradime, partners and developers. Votes on feature requests. Dimes for tutorials and for referrals.
Help with careers
Passes to Coalesce, the dbt Labs conference, for active members. Workshops and webinars with known dbt instructors.
Dimes
Dimes measure the compute an extension uses. Every user gets 100 a month. Contributions earn more, and more can be bought.
Pricing
Past the free 100, users can build and earn: templates, projects, extensions and forum help all pay in dimes. Or they can pay. Subscriptions buy dimes in bulk at a lower rate, pay as you go has no commitment, and teams can share what they buy.
Dimes
One dime is ten cents of compute. Your plan renews on April 1.
Balance
1,249
Worth US$124.90
80 left in plan1,169 earned
400 dimes a month
$32/month
Used this month320 of 400
Extensions use your plan’s dimes first, then the ones you earned.
Ways to earn
Recent March
Plans
$19/mo
200 dimes a month
$9.50 per 100$28/mo
300 dimes a month
$9.33 per 100$32/mo
400 dimes a month
$8.00 per 100$0.10/dime
No commitment
$10.00 per 100The plan
How we checked the design against the brief, and how Paradime could build, staff, measure and launch it.
Validation
The brief asked for as few clicks as possible. We counted them.
Clicks for highlighting, autocomplete and error marks. They are on by default.
Click to apply a quick fix.
Clicks to reach slogs and Q&A: a hotkey, or one click.
Click from the home page or the editor to the community.
Onboarding
Paradime’s own slogs work as tutorials for new users.
Security
Testing every slog before release protects teams that aren’t comfortable with version control.
A forum that answers
Threads, Q&A and slogs meet the goal all three groups shared.
Fewer errors
Autocomplete and docs on hover catch syntax mistakes as people type.
Roadmap
Phase one adds features to the editor and the community, to bring users in. Phase two adds incentives, to keep them.
Resources
We costed the plan against an estimated US$1.1 million in new annual recurring revenue, at about $300 to acquire each user.
Community manager
Runs the community and its relationships.
Technical lead
Owns the tools and data systems behind it.
Member support
Answers questions, fixes issues and keeps the tone friendly.
Metrics
For the experience as a whole we used Google’s HEART framework: one goal per letter, with the signals and metrics that show it.
Area
Goal
Signals
Metrics
Users find the marketplace easy to use, and unlike anything else
Referrals to other developers, positive feedbackNPS, customer effort score, satisfaction ratingUsers enjoy it, and contribute
How often they post, upgrades to premium, time on the platformConversion rate, session length, MRR per unit, amplification rateNew users understand the new IDE features
New sign-ups, use of marketplace featuresSign-up rate, utilisation rate, task completion rateUsers keep coming back
Repeat dime purchases, longer sessionsMonthly retention, churn rate, share of repeat usersThe IDE grows with the marketplace
More successful uploads, fewer user errorsSearch exit rate, drop-off, errors per user, payback periodFor single features: monthly active users, daily use, time to resolution and bounce rate. Feature tagging records each click, hover and input. Segments group users by behaviour, and surveys go out to each segment, paid in dimes.
Launch
An open beta first, to bring in as many people as possible. Testers are split into groups that get different features in turns, so feedback comes in fast, feature by feature.
For companies
Paradime Aide
A user who brings Paradime into their team, and into their next company when they move. They know how to get past their own company’s barriers better than a sales team.
For individuals
Demo-led marketing
Early users build in public and bring their network, for dimes. Public votes pick the best work. It costs less than ads and reaches beyond developers.
Later versions
Trusted members help test and certify extensions. Developers sell code, themes and plugins, and Paradime takes a fee. The editor supports frameworks beyond dbt.
We also proposed training GPT-4 on the slog library, to write new slogs for questions nobody had answered yet, and to break complex questions into smaller ones.
Paradime has since built DinoAI, an AI co-pilot inside the Code IDE.
Source: Paradime documentation. Added for this page.
Outcome
Gold in the Paradime product challenge
Inter IIT Tech Meet 11.0, hosted by IIT Kanpur. The screens on this page are redrawn for this site from our original wireframes.