itter.sh - Social Media via SSH
The Challenge
Modern social media is often noisy, algorithmic, and browser-dependent, lacking a simple, distraction-free, terminal-based interaction model for purists and developers.
Approach & Execution
Project Overview
itter.sh is your escape from the noise. It’s a micro-blogging platform accessed entirely via SSH. No web browser. No JavaScript. No endless scroll of algorithmic ‘content’. Just you, your trusty terminal, and 180 characters at a time (“eets”).
Why? Because terminals are cool. Because less is more. Because sometimes, you just need to type. This project is an exploration of minimalist, focused communication for those who appreciate the power and simplicity of the command line.
How It Works & Key Features
Interaction with itter.sh is designed to be intuitive for terminal users.
Getting Started:
- SSH Key: Ensure you have an SSH key pair (
ssh-keygen -t ed25519). Only your public key is needed for registration. - Register: To create an account, use the
register:prefix with your desired username:ssh register:your_cool_username@app.itter.sh - Login: Once registered, simply SSH in to start using itter:
ssh your_cool_username@app.itter.sh
Functionas: The platform offers a range of commands to interact with the service:
eet <text>: Post an “eet” (max 180 characters). Supports #hashtags and @mentions.timeline [mine|all|#chan|@user] [<page>]: View eets. Defaults to the ‘all’ timeline, page 1.watch [mine|all|#chan|@user]: Access a live, auto-updating timeline.follow @<user>: Follow a specific user.unfollow @<user>: Unfollow a user.profile [@<user>]: View your own profile or another user’s.profile edit -name <Name> -email <Email>: Update your display name or email.help: Show the in-app help message.clear: Clear your terminal screen.exit: Exitwatchmode or disconnect from itter.sh.
Technical Stack
itter.sh is built with a focus on leveraging robust and developer-friendly technologies:
- Core Interaction: Python & AsyncSSH handle the SSH server and application logic.
- Data Persistence: Supabase (using PostgreSQL) serves as the backend for storing user accounts, eets, and social graph data.
- Ethos: Terminal Nostalgia combined with modern backend-as-a-service capabilities.
The project is open source! Curious about the internals, want to contribute, or found an undocumented feature (a.k.a. bug)? Check out the repository: https://github.com/rrmn/itter.
Solution Overview
itter.sh is a micro-blogging platform built for the terminal, accessed entirely via SSH. It uses Python & AsyncSSH for the server and Supabase for the backend, allowing users to post 'eets' (180 chars), view timelines, follow users, and manage profiles through simple CLI commands.
Key Results & Impact
- Launched a functional SSH-based micro-blogging platform focusing on simplicity and terminal-first interaction.
- Provides a unique, minimalist social media experience for developers and terminal enthusiasts.
- Open-sourced the project on GitHub, inviting community contributions and ensuring transparency.
- Supports core social features: posts (eets), timelines (all, user, channel), follow/unfollow, and profile management via SSH.