How I use a Claude Code agent in Telegram to track my hackathon deadlines A developer built hackathon-copilot, a Claude Code agent connected to a Telegram group via the open-source Switch tool, which tracks hackathon deadlines across timezones and checks submission requirements like repo visibility, licensing and demo-site uptime. The setup splits work between a Python script that computes dates and runs checks and a CLAUDE.md file that constrains the agent's behavior, with the agent running on the developer's laptop while being queried from a phone. The writeup documents pitfalls including Telegram's Group Privacy setting, bot connection order and an agent running in the wrong folder, and notes that scheduled morning messages are blocked by an open Switch issue. This month I'm entering five hackathons. Each one has a different deadline, a different timezone and different rules. I kept forgetting what was due first. So I built a helper. It's a Claude Code agent in my Telegram group. I ask it "what's due?" and it lists my deadlines in my own timezone, soonest first. I ask "is bountypay ready?" and it checks my GitHub repo and my demo site, then tells me what is still missing. When I finish something, I tell it, and it updates its list. The code is here: github.com/mohammedfirdouss/hackathon-copilot https://github.com/mohammedfirdouss/hackathon-copilot Switch https://github.com/sandbox-quantum/switch is an open-source tool. It connects AI agents to chat apps like Slack, Discord and Telegram. Switch does not give you an agent. You bring your own, like Claude Code. When someone messages the agent in the chat, Switch starts it on your computer and passes the messages back and forth. So Claude Code runs on my laptop, and I talk to it from Telegram on my phone. The project has three main files. hackathons.toml is my list of hackathons. Each one has a deadline, a repo and a list of things I must submit. copilot.py is a small Python script. It works out how much time is left and checks each requirement. For example, it checks if the repo is public, if it has a license, and if the demo site is up. CLAUDE.md tells the agent what to do. It says: always use the script for dates and checks, keep replies short, and never submit forms or post anything for me. The script does the maths, so the dates are always right. The agent understands my question and explains the answer. You need Python, Node.js, the GitHub CLI, a Claude Code account and a Telegram account with a username. /newbot to make a bot. Save the token somewhere safe. invite-agent @your-agent-name , then set-alias @your-agent-name @copilot . Now send @copilot what's due? I changed Group Privacy too late. Turn it off before you add the bot to a group. If you forget, remove the bot and add it again. I added the bot before connecting it. Connect the bot in Switch first, then add it to the group. I couldn't find myself when linking my account. Switch only knows people who have sent a message in the group. Send a new message, then search again. The agent ignored my instructions. It was running in an empty default folder, so it never saw my CLAUDE.md . I fixed it by linking that folder to my project folder. If your agent acts strangely, check which folder it runs in. My lines got merged into one paragraph. Telegram joined my lines together. Starting each line with - fixed it. I want a morning message with my deadlines. Switch can't schedule messages yet issue 771 https://github.com/sandbox-quantum/switch/issues/771 , so for now I have to ask. If you have many deadlines too, copy the repo, put your own hackathons in hackathons.toml , and connect it to Switch.