Free software for the students of the Willy SEO Academy
WillyPostby Willy SEO Academy
English · for platform reviewers

WillyPost in English

WillyPost is a free, non-profit social media scheduler that runs on the user's own computer. This page summarises, in English, what the app does, who it is for, how it connects to each platform and how user data is handled. The Spanish pages are the authoritative versions.

Last updated: 2 November 2026 · Versión en español

1. What WillyPost does

WillyPost is a desktop application (Windows and macOS) that lets a person prepare posts in a visual calendar and publish them at the scheduled time to their own accounts on Facebook Pages, Instagram (professional accounts), Threads, TikTok, YouTube, Google Business Profile, LinkedIn (personal profile) and Bluesky. It only publishes content that the user writes (or approves) and schedules. It does not read private messages, it does not follow, like or comment, and it has no analytics or advertising.

  • Who it is for: students of the Willy SEO Academy (a Spanish digital-marketing school) — small businesses, freelancers and local-marketing professionals who manage their own social media or their clients'.
  • Price: free. It is a non-profit gift; the licence (MIT + Commons Clause) forbids selling it. Source code: github.com/NuriaAtlantis/willypost.
  • User interface language: Spanish.

2. Who is behind it

PartyRole
Nuria Olive Soler (private individual, Barcelona, Spain)Author of the program and of this website.
Diving With Us SL (Spanish company, tax ID B76160340, Calle Toscón 7, C.C. Montaña Tropical, local 6, 35510 Puerto del Carmen (Tías), Las Palmas)Owner of the WillyPost apps registered with Meta, TikTok, Google and LinkedIn, and operator of the connection service auth.willypost.com and the media proxy media.willypost.com. Non-profit, no fees.

Contact: nuria.olive@gmail.com

3. How it works

  1. The user downloads WillyPost from GitHub and installs it on their computer. It runs a local web interface at http://localhost:4747, only reachable from that computer.
  2. The user creates a local WillyPost account (stored only on their computer; there is no online sign-up).
  3. In Redes (Networks), the user clicks Conectar (Connect). The official authorization screen of the platform opens in the browser and the user approves the requested permissions.
  4. The platform redirects to https://willypost.com/callback.html, a static page that immediately forwards the authorization code to the user's own computer (localhost). For Google (YouTube, Business Profile) the redirect goes directly to localhost (desktop OAuth client with PKCE).
  5. To exchange the code for a token, WillyPost sends the code to auth.willypost.com, which adds the app secret, calls the platform's official token endpoint and returns the response unchanged. It stores nothing and keeps no logs of codes or tokens.
  6. Tokens are stored on the user's computer. All publishing API calls go directly from the user's computer to the platform.

4. Permissions requested and why

PlatformPermissions / scopesUse
Facebook (Pages)pages_show_list, pages_read_engagement, pages_manage_posts, publish_video, business_managementList the Pages the user manages so they can choose one, read the Page name and Page access token, and publish the posts, photos, videos and Reels the user schedules. business_management is needed so Pages owned by a business portfolio appear in the list.
Instagraminstagram_business_basic, instagram_business_content_publishIdentify the professional account (username, profile picture) and publish feed posts, carousels, Reels and stories.
Threadsthreads_basic, threads_content_publishIdentify the profile and publish text, image, video and carousel posts.
TikTokuser.info.basic, video.upload, video.publishShow which account will receive the post (display name, avatar), send videos to the user's TikTok inbox to finish in the app, or post directly with the privacy and interaction settings the user selects.
YouTubeyoutube.upload, youtube.readonlyIdentify the user's channel (name, ID) and upload the videos the user schedules.
Google Business Profilebusiness.manageList the user's business locations so they can choose one, and publish local posts (updates) to it.
LinkedInopenid, profile, w_member_socialIdentify the member (name, picture) and publish posts on their personal profile.

5. Data handling (privacy summary)

  • All user data — the local account, access tokens, connected account names and pictures, scheduled posts, images and videos — is stored only on the user's computer (%APPDATA%\WillyPost on Windows, ~/Library/Application Support/WillyPost on macOS).
  • auth.willypost.com (hosted by Diving With Us SL at Hostinger) only receives authorization codes and tokens in transit to add the app secret; it has no database and keeps no logs of codes, tokens or request bodies. Google tokens never pass through it.
  • media.willypost.com passes photos to TikTok in transit (TikTok requires a verified domain for photo URLs); nothing is stored.
  • Media files are served to the platforms through a temporary Cloudflare Quick Tunnel from the user's computer, with links that expire after 2 hours.
  • No analytics, no advertising, no sale or sharing of data, no use of platform data to train AI models. Neither the author nor Diving With Us SL nor the Academy can see users' data.
  • Full policy (Spanish): willypost.com/privacidad.html.

Google user data

WillyPost's use and transfer to any other app of information received from Google APIs will adhere to the Google API Services User Data Policy, including the Limited Use requirements. Google user data is used only to upload the user's videos and publish the user's Business Profile posts, is stored only on the user's computer, is not transferred to anyone, is not used for advertising, is not read by humans and is not used to develop, improve or train generalized AI/ML models.

WillyPost uses YouTube API Services. By connecting YouTube, users agree to the YouTube Terms of Service; the Google Privacy Policy also applies. Users can revoke WillyPost's access at any time via the Google security settings page.

6. Data deletion

Because all data lives on the user's computer, users delete it themselves: disconnect each account in WillyPost (deletes its tokens), revoke WillyPost in each platform's settings, and uninstall WillyPost choosing to delete its data folder. The connection service holds no user data, so there is nothing to delete server-side; users can still email nuria.olive@gmail.com for written confirmation. Step-by-step instructions for every platform (Spanish): willypost.com/borrar-datos.html.

7. Terms summary

WillyPost is provided free of charge, "as is", without warranties. Users are responsible for the content they publish and must comply with each platform's terms (including the YouTube Terms of Service and TikTok's Music Usage Confirmation and Branded Content Policy). The central apps and the connection service may only be used with WillyPost. Spanish law applies. Full terms (Spanish): willypost.com/terminos.html.

8. Installing WillyPost (for reviewers)

  1. Download the ZIP: github.com/NuriaAtlantis/willypost → main.zip, right-click → Extract All.
  2. Double-click Instalar WillyPost (“Install WillyPost”). If Windows SmartScreen appears, click More info → Run anyway. Installation takes a few minutes and needs no administrator rights.
  3. WillyPost opens in the browser at http://localhost:4747. Create a local account (any email and password; it never leaves the computer).
  4. Go to Redes (Networks) → click Conectar (Connect) next to the platform → approve the permissions.
  5. Click + Crear publicación (Create post), write a text, attach a file, choose the account and Publicar ahora (Publish now) or pick a date.