<div class="dp-hero"> <img class="dp-logo" src="https://publish-01.obsidian.md/access/e00c10aa9141aa883f8c50e2e44a9276/_images/phlip-logo.png" alt="Phlip"> <div class="dp-kicker">Events first · Self-hosted · End-to-end encrypted</div> <div class="dp-title">Your <span class="hl">old phone</span> is your group's new home.</div> <p class="dp-sub">Phlip turns any Android phone into your group's private server. Pitch plans in seconds with a novel card interface and track responses with live RSVPs, reactions and chat.</p> </div> <div align="center"> <a href="https://phlipapp.com/Guides/Host+a+server+on+your+Android+phone" class="dp-btn">Host a server</a> <a href="https://phlipapp.com/Guides/Join+a+server" class="dp-btn ghost">Join a server</a> </div> <div class="dp-showcase"> <div class="dp-stage"> <div class="dp-captions"> <div class="dp-caption on"> <div class="dp-label">01 · Pitch a plan</div> <h3>Flick a card to create an event</h3> <p>Plans are cards, not forms. Flick a day card into an empty slot and it becomes a real event on the group's timeline.</p> </div> <div class="dp-caption"> <div class="dp-label">02 · Respond with a flick</div> <h3>Flick onto an event to RSVP</h3> <p>Send a card onto any event to reply. Your name joins the list the moment it lands — momentum you can actually see.</p> </div> <div class="dp-caption"> <div class="dp-label">03 · Your groups</div> <h3>Every group in one calendar</h3> <p>Groups work like Discord servers — all your social circles in one place, consolidated into your own personal calendar.</p> </div> <div class="dp-caption"> <div class="dp-label">04 · Chat in its place</div> <h3>Channels that serve the plan</h3> <p>Real-time chat for coordinating — lifts, kit, timings — and any message can link straight to the event it's about.</p> </div> <div class="dp-caption"> <div class="dp-label">05 · Solo, local or public</div> <h3>Just you, your Wi-Fi, or the world</h3> <p>Plan solo on your own device, host for friends over local Wi-Fi, or flip one toggle to go public through Cloudflare — same app, three reaches.</p> </div> <div class="dp-caption"> <div class="dp-label">06 · Share with anyone</div> <h3>Broadcast a single event</h3> <p>Send one event as a self-contained link. Anyone opens it and RSVPs — no account, no joining a server — and it shuts itself down once the event's over.</p> </div> </div> <div class="dp-phone-scene"> <div class="dp-phone"> <div class="dp-screen"> <div class="dp-track"> <div class="dp-slide"> <div class="mock-bar">Ridge Riders · Timeline</div> <div class="mock-body mock-flow"> <div class="ev-card ev-target"> <div class="ev-day"><span class="ev-pop">🎬</span><span class="ev-dow">THU</span></div> <div class="ev-main"> <div class="ev-title">Film night: Alien <span class="ev-check">✓</span></div> <div class="ev-sub"><b>20:00</b> · Sam's</div> <div class="ev-att"> <span class="att a1" data-react="🔥"></span> <span class="att a2" data-react="🎬"></span> <span class="att a3" data-react="😄"></span> <span class="att you" data-react="✓"></span> </div> </div> </div> <div class="ev-slot ev-landing"> <div class="slot-empty">Flick a card here</div> <div class="ev-card slot-full"> <div class="ev-day"><span class="ev-pop">🎉</span><span class="ev-dow">TUE</span></div> <div class="ev-main"><div class="ev-title">Party</div><div class="ev-sub"><b>Evening</b> · My House</div></div> </div> </div> <div class="mock-hand fan"> <div class="mock-trail"></div> <div class="opt-card c1"><span>📍</span></div> <div class="opt-card c2"><span>🔁</span></div> <div class="opt-card c3"><span>🙂</span></div> <div class="opt-card c4"><span>✕</span></div> <div class="mock-flick day flick-create"><span class="ev-pop">🎉</span><span class="ev-dow">TUE</span></div> <div class="mock-flick going flick-respond">Yes<span class="pop">✓</span></div> <div class="mock-sending label-create">creating…</div> <div class="mock-sending label-respond">sending…</div> </div> </div> </div> <div class="dp-slide"> <div class="mock-bar">Personal · This week</div> <div class="mock-body"> <div style="display:flex;gap:6px;"> <span style="width:24px;height:24px;border-radius:8px;background:var(--dp-blue-soft);border:1.5px solid var(--dp-blue);font-size:13px;line-height:22px;text-align:center;">🚵</span> <span style="width:24px;height:24px;border-radius:8px;background:var(--dp-blue-soft);border:1.5px solid var(--dp-blue);font-size:13px;line-height:22px;text-align:center;">⚽</span> <span style="width:24px;height:24px;border-radius:8px;background:var(--dp-blue-soft);border:1.5px solid var(--dp-blue);font-size:13px;line-height:22px;text-align:center;">👪</span> <span style="width:24px;height:24px;border-radius:8px;border:1.5px dashed var(--dp-line);color:var(--text-muted);font-size:14px;line-height:20px;text-align:center;">+</span> </div> <div class="mock-ticket hot"><div class="t">Film night: Alien</div><div class="d">RIDGE RIDERS · THU 20:00</div></div> <div class="mock-ticket"><div class="t">5-a-side</div><div class="d">SUNDAY LEAGUE · SAT 10:00</div></div> <div class="mock-ticket"><div class="t">Mum's birthday</div><div class="d">FAMILY · SUN 13:00</div></div> </div> </div> <div class="dp-slide"> <div class="mock-bar"># general</div> <div class="mock-body"> <div class="mock-msg"><b>Sam</b>who's in for <a href="#" style="background:var(--dp-blue-soft);color:var(--dp-blue);border:1px solid var(--dp-blue);border-radius:5px;padding:0 4px;font-weight:600;text-decoration:none;white-space:nowrap;">🎬 Film night</a> thu?</div> <div class="mock-msg me">yes! and <a href="#" style="background:rgba(255,255,255,.22);color:#fff;border:1px solid rgba(255,255,255,.65);border-radius:5px;padding:0 4px;font-weight:600;text-decoration:none;white-space:nowrap;">⚽ 5-a-side</a> sat?</div> <div class="mock-msg"><b>Priya</b>moved <a href="#" style="background:var(--dp-blue-soft);color:var(--dp-blue);border:1px solid var(--dp-blue);border-radius:5px;padding:0 4px;font-weight:600;text-decoration:none;white-space:nowrap;">🎂 Mum's bday</a> to sun</div> </div> </div> <div class="dp-slide"> <div class="mock-bar">Your space</div> <div class="mock-body"> <div class="mock-ticket hot"><div class="t">🔒 Personal</div><div class="d">JUST YOU · ON THIS DEVICE</div></div> <div class="mock-ticket"><div class="t">📶 Local</div><div class="d">FRIENDS ON YOUR WI-FI</div></div> <div class="mock-ticket"><div class="t">🌍 Public</div><div class="d">ANYONE · VIA CLOUDFLARE</div></div> </div> </div> <div class="dp-slide"> <div class="mock-bar">📡 Broadcast</div> <div class="mock-body"> <div class="mock-ticket hot"><div class="t">🎬 Film night: Alien</div><div class="d">THU 20:00 · SAM'S</div></div> <div style="display:flex;align-items:center;gap:5px;background:var(--dp-blue-soft);border:1.5px solid var(--dp-blue);border-radius:8px;padding:7px 9px;font-family:'IBM Plex Mono',monospace;font-size:9px;color:var(--dp-blue);font-weight:600;">🔗 phlipapp.com/e/7Q2X<span style="margin-left:auto;letter-spacing:.08em;">COPY</span></div> <div style="font-family:'IBM Plex Mono',monospace;font-size:8px;letter-spacing:.06em;color:var(--text-muted);text-transform:uppercase;">No account · anyone can RSVP · auto-closes after</div> <div class="mock-msg"><b>Guest · Jo</b>going 👍</div> <div class="mock-msg"><b>Guest · Ada</b>maybe, depends on work</div> </div> </div> </div> </div> </div> </div> <div class="dp-dots"></div> </div> </div> > [!note] 📷 Swapping in real screenshots > Each `dp-slide` above is a CSS mock. When you have real captures, replace a slide's inner markup with a single `<img src="...">` of the app (portrait, ~9:19) — the frame, animation and captions stay the same. --- ## Why Phlip? <div class="dp-grid"> <div class="dp-ticket"> <div class="dp-label">Yours, actually</div> <h3>Hosted on your hardware</h3> <p>Your group's data lives on a phone you own and is end-to-end encrypted. No company servers, no ads, no data being sold to third parties.</p> </div> <div class="dp-ticket"> <div class="dp-label">Events first</div> <h3>Plans that survive the chat</h3> <p>Pitch plans as ticket-stub cards, lock them in with one-tap RSVPs and live attendee lists. Chat supports the plan, not the other way round.</p> </div> <div class="dp-ticket"> <div class="dp-label">Groups, sorted</div> <h3>Servers, Discord-style</h3> <p>Run a rail of groups side by side — each with its own events, members and channels — while a Personal space consolidates every plan you're in for your own diary. Personal, local or public.</p> </div> <div class="dp-ticket"> <div class="dp-label">No sign-up needed</div> <h3>Broadcast an event</h3> <p>Share a single event as a self-contained link anyone can open and RSVP to — no account, no joining a server. It shuts itself down once the event is over.</p> </div> <div class="dp-ticket"> <div class="dp-label">The mini-game</div> <h3>Open Pitch</h3> <p>When nobody can decide, deal the cards: face-down plays, reveals, and whittle-down rounds turn "we should do something" into a plan.</p> </div> <div class="dp-ticket"> <div class="dp-label">Yours to keep</div> <h3>End-to-end encrypted</h3> <p>Message and event content is encrypted under keys only your members hold — the honest boundary is spelled out in the FAQs.</p> </div> </div> --- ## Who it's for One app, however your group works — from the people you live with to a crowd you've never met. <div class="dp-grid"> <div class="dp-ticket"> <div class="dp-label">🏠 Family &amp; home</div> <h3>The household hub</h3> <p>Shared plans for the people you live with, or the wider family. Meals, lifts, visits and birthdays on one calendar — hosted on a phone at home, with no accounts for the kids.</p> </div> <div class="dp-ticket"> <div class="dp-label">🍻 Friends</div> <h3>The group that meets up</h3> <p>Pitch nights out, trips and film nights as cards, and let Open Pitch settle "I don't mind, you choose". Everyone RSVPs live, so plans survive the group chat.</p> </div> <div class="dp-ticket"> <div class="dp-label">📚 Study group</div> <h3>Sessions that stick</h3> <p>Line up revision sessions, deadlines and meetups on a shared timeline. Chat stays tied to each session, so nothing important scrolls away.</p> </div> <div class="dp-ticket"> <div class="dp-label">🌳 Local communities</div> <h3>Clubs, teams and neighbours</h3> <p>Run a five-a-side, a book club or a residents' group from one host phone. Roles and a member directory keep it organised, with public access when you need it.</p> </div> <div class="dp-ticket"> <div class="dp-label">📡 Public community</div> <h3>Open events, no sign-up</h3> <p>Putting on a one-off for a wider crowd — a gig, a meetup, a fundraiser? <strong>Broadcast</strong> it as a link anyone can open and RSVP to: no account, no server to join, and it closes itself when it's over.</p> </div> </div> --- ## How it works 1. **One person hosts — on a phone.** Install Phlip on any Android phone (the spare in the drawer, or the one in your pocket), tap Host. Public access is one toggle, tunnelled through Cloudflare from inside the app. See [[Guides/Host a server on your Android phone|hosting]] and [[Guides/Go public with Cloudflare|going public]]. 2. **Everyone else joins with a code.** Share a join code like <span class="dp-serial">9F2K4X</span> — members pick a name and their own password, the host approves, and content is end-to-end encrypted under keys only members hold. App or browser. See [[Guides/Join a server]]. 3. **Pitch, decide, show up.** Flick cards onto the timeline, run an [[Guides/Run an Open Pitch|Open Pitch]] when the group can't choose, and watch RSVPs land live. --- ## Getting started <div class="dp-grid"> <div class="dp-ticket"> <div class="dp-label">Guide 1</div> <h3><a href="https://phlipapp.com/Guides/Host+a+server+on+your+Android+phone">Host on an Android phone</a></h3> <p>Install the app, tap Host. Spare phone or daily driver.</p> </div> <div class="dp-ticket"> <div class="dp-label">Guide 2</div> <h3><a href="https://phlipapp.com/Guides/Go+public+with+Cloudflare">Go public with Cloudflare</a></h3> <p>One toggle for a public address — free trial tunnel or your own domain.</p> </div> <div class="dp-ticket"> <div class="dp-label">Guide 3</div> <h3><a href="https://phlipapp.com/Guides/Run+an+Open+Pitch">Run an Open Pitch</a></h3> <p>The card mini-game that ends "I don't mind, you choose."</p> </div> </div> --- ## Honest by design Phlip is upfront about its boundaries and limitations. As a host you are responsible and liable for your servers but we make active efforts to reduce risks. For example, we made Phlip photo-free by design. Chat does not allow images and even your user's profile pictures do not get stored on the host device. A profile photo is only shown when that user is online and able to share the photo themselves and we've used this to act as the indicator for their online/offline status. Content is end-to-end encrypted as much as possible so some metadata isn't yet to allow features but is something we will continue to work on as a core feature. However, Phlip is built by a solo developer as a side project in alpha so expect bugs and issues. The full picture is on the [[Roadmap]] and in the [[FAQs]]. **Quicklinks:** [[About]] · [[Features]] · [[FAQs]] · [[Roadmap]] · [[Guides/Start Here|All guides]] <div class="dp-footer">Phlip · a social planner hosted by your old phone</div>