🐦 Twitter Post Details

Viewing enriched Twitter post

@davewiner

# Frontier is rebooted in 2026 I don't think I've announced this here, but I was able to teach Claude Code how to port Frontier from a backup taken in 2014. It's an Electron app, but also can run headless. It's incredibly reliable for something that was coded almost from scratch so recently. The one big piece we already had was the outliner, but everything else is new code in JavaScript. Also the object database is imp in SQLite, so there will be substantial things it can do in SQL, and Frontier never had SQL integrated like this. (Note, the odb works exactly as it used to work, and we have guest databases.) We experimented with new tables of glue scripts, so we are able to program Mastodon and Bluesky, as easily as we used to program WordPress or Twitter. I went on to work on other projects, but I use Frontier in everything I do, it's where I write and maintain my JS code for the other projects, so while I haven't done any development on it in the last few months I've been using it constantly every day. I would love to get a new community going as long as it isn't hostile, but I think we're better at controlling the trolls in 2026 than we were in the early days of the web.

📊 Media Metadata

{
  "score": 0.4,
  "score_components": {
    "author": 0.09,
    "engagement": 0.0,
    "quality": 0.1,
    "source": 0.135,
    "nlp": 0.05,
    "recency": 0.025
  },
  "scored_at": "2026-10-29T22:02:31.067278",
  "import_source": "api_import",
  "source_tagged_at": "2026-10-29T22:02:31.067291",
  "enriched": true,
  "enriched_at": "2026-10-29T22:02:31.067294"
}

🔧 Raw API Response

{
  "type": "tweet",
  "id": "2115790799367553521",
  "url": "https://x.com/davewiner/status/2115790799367553521",
  "twitterUrl": "https://twitter.com/davewiner/status/2115790799367553521",
  "text": "# Frontier is rebooted in 2026\n\nI don't think I've announced this here, but I was able to teach Claude Code how to port Frontier from a backup taken in 2014. \n\nIt's an Electron app, but also can run headless. It's incredibly reliable for something that was coded almost from scratch so recently. The one big piece we already had was the outliner, but everything else is new code in JavaScript. Also the object database is imp in SQLite, so there will be substantial things it can do in SQL, and Frontier never had SQL integrated like this. (Note, the odb works exactly as it used to work, and we have guest databases.)\n\nWe experimented with new tables of glue scripts, so we are able to program Mastodon and Bluesky, as easily as we used to program WordPress or Twitter. \n\nI went on to work on other projects, but I use Frontier in everything I do, it's where I write and maintain my JS code for the other projects, so while I haven't done any development on it in the last few months I've been using it constantly every day. \n\nI would love to get a new community going as long as it isn't hostile, but I think we're better at controlling the trolls in 2026 than we were in the early days of the web.",
  "source": "",
  "retweetCount": 2,
  "replyCount": 6,
  "likeCount": 21,
  "quoteCount": 2,
  "viewCount": 1899,
  "createdAt": "Thu Oct 29 13:00:10 +0000 2026",
  "lang": "en",
  "bookmarkCount": 5,
  "isReply": false,
  "inReplyToId": null,
  "conversationId": "2115790799367553521",
  "displayTextRange": [
    0,
    274
  ],
  "inReplyToUserId": null,
  "inReplyToUsername": null,
  "author": {
    "type": "user",
    "userName": "davewiner",
    "url": "https://x.com/davewiner",
    "twitterUrl": "https://twitter.com/davewiner",
    "id": "3839",
    "name": "Dave Winer",
    "isVerified": false,
    "isBlueVerified": true,
    "verifiedType": null,
    "profilePicture": "https://pbs.twimg.com/profile_images/2055678219311861760/sOG1PZkG_normal.png",
    "coverPicture": "https://pbs.twimg.com/profile_banners/3839/1778947001",
    "description": "",
    "location": "Ulster County, NY",
    "followers": 64077,
    "following": 3685,
    "status": "",
    "canDm": true,
    "canMediaTag": false,
    "createdAt": "Sat Aug 05 23:04:08 +0000 2006",
    "entities": {
      "description": {
        "urls": []
      },
      "url": {}
    },
    "fastFollowersCount": 0,
    "favouritesCount": 18710,
    "hasCustomTimelines": true,
    "isTranslator": false,
    "mediaCount": 5833,
    "statusesCount": 216476,
    "withheldInCountries": [],
    "affiliatesHighlightedLabel": {},
    "possiblySensitive": false,
    "pinnedTweetIds": [
      "1188137703495344129"
    ],
    "profile_bio": {
      "description": "I make software to interop. Working on a new web designed for writers and readers and in place of HTML we use Markdown. Keep it super simple. The big undo.",
      "entities": {
        "description": {},
        "url": {
          "urls": [
            {
              "display_url": "scripting.com",
              "expanded_url": "http://scripting.com/",
              "indices": [
                0,
                23
              ],
              "url": "https://t.co/alwLFPBgDF"
            }
          ]
        }
      }
    },
    "isAutomated": false,
    "automatedBy": null,
    "protected": false
  },
  "extendedEntities": {},
  "card": null,
  "place": {},
  "entities": {
    "hashtags": [],
    "symbols": [],
    "urls": [],
    "user_mentions": []
  },
  "quoted_tweet": null,
  "retweeted_tweet": null,
  "isLimitedReply": false,
  "communityInfo": null,
  "article": null
}