Skip to content
BUILT FOR CO-WORKING STREAMSYOUR STREAM. YOUR SPACE.

Focus together.
On your own stream.

Self-hosted Pomodoro timers, shared task lists, and OBS overlays for Twitch co-working streams. Deploy your own instance and give your community a rhythm.

Free & open source. Self-hosted on your Cloudflare account.

THE FOCUS ROOMEXAMPLE SCENE
TODAY'S INTENTION

A little progress.
Good company.

Bring your work. Stay for the company.
FOCUS SESSION25:00One thing at a time.
IN THIS TOGETHERTasks
ada_codes

Ship the last little fix

pixel_pat

Finish the first sketch

night_owl

Read one chapter

Completed
ada_codes !task Ship the last little fix Added to the room
A shared rhythm Tasks straight from Twitch chat Made for OBS Yours to make your own
01 / A LITTLE STRUCTURE. A LOT OF COMPANY.

Different to-do lists.
The same moment to start.

Coding, studying, drawing, or finally getting through the inbox. Everyone brings their own task. You give the room a rhythm.

01

Set the pace

Run focus blocks, short breaks, and long breaks. Adjust the durations to the way your community works.

YOUR TIMER, YOUR RHYTHM
02

Let chat join in

Viewers add their own tasks, choose a focus, and mark things done without leaving Twitch chat.

!task · !focus · !done
03

Put progress on screen

Bring the timer and task list into OBS as browser sources. Everyone can see what they're working toward.

TWO OVERLAYS. ONE ROOM.
02 / LOOKS LIKE YOUR STREAM

Your scene.
Your signature.

Start with one of six themes, then make it yours. Colors, fonts, spacing, and timer shapes are all adjustable in the Theme Center.

Transparent browser sources fit into your existing scene. The countdown runs locally; task and timer changes appear within a few seconds.

How to add overlays to OBS TRY A THEME →
Focus
18:24
Cycle 2 / 4
streamer1/2
Finish the design system docs
Review overlay PR
ada_codes1/2
Write migration tests
Coffee refill
pixel_pat0/1
Sketch new logo concepts
#stream chat
ada_codes!task write migration tests
Dirework@ada_codes added task #1 and set it as your focus ✅
pixel_pat!task sketch logo concepts
ada_codes!done
Dirework@ada_codes nice — task #1 complete 🎉
night_owl!timer eta
DireworkFocus ends ~3:42pm · break in 18:24 · cycle 2/4

Example commands and replies. No Twitch connection needed to preview.

03 / SMALL COMMANDS. SHARED PROGRESS.

“Done” feels better
with company.

No extra account for your viewers. They add a task with !task, pick what to work on with !focus, and celebrate a finish with !done.

Broadcasters and mods get timer and moderation controls. Customize command aliases and bot replies to match your community.

See the chat commands
04 / A SPACE OF YOUR OWN

Set up once.
Make it part of your stream.

One DireWork instance per streamer. Your own deployment, your own data, and a dashboard that belongs to you.

  1. 01

    Deploy your copy

    Create your Twitch application and deploy to Cloudflare. Follow the guide for the required accounts and settings.

    Deployment guide
  2. 02

    Claim your room

    Sign in with Twitch to claim your instance. Connect your bot account and keep its private browser page open while streaming.

    Twitch setup
  3. 03

    Bring it into OBS

    Choose your style, copy the timer and task overlay URLs into browser sources, and start your first focus session.

    Overlay setup
BEFORE YOU START

Good questions.
Straight answers.

Need a hand? Ask in Discord.

Is this a hosted service?

No. DireWork is always self-hosted. We do not offer hosted instances or a managed hosting service. You deploy your own copy on Cloudflare Workers and D1 using your own Cloudflare account and Twitch application. The deployment guide walks through the setup.

What does it cost?

DireWork is free and open source, with no paid feature tier. It is designed for Cloudflare's free Workers and D1 plans. Your usage is still subject to Cloudflare's limits and pricing.

Do viewers need an account?

Viewers use their existing Twitch accounts to add and complete tasks in chat. Only the streamer signs in to DireWork. The first Twitch login claims the instance; additional signups are then closed.

Does the bot need to stay open?

Yes. The bot connects to Twitch from a private browser page. Keep that page running in OBS or a pinned browser tab while you stream. Closing it disconnects the bot.

Can I use it outside Twitch?

Twitch is the supported platform today. The timer and task overlays work as browser sources in OBS, but login and viewer chat commands depend on Twitch.

BRING YOUR NEXT LITTLE GOAL.

Let's get something
done. Together.

Open source. Self-hosted. Built for the company you keep.