Local-first linkspage generator

Overview

weird.one

Local-first linkspage generator

Usage

You'll need Perseus and SurrealDB.
Start the SurrealDB instance.

surreal start -u root -p root --log debug "file://weirddb"

Start Perseus

perseus serve -w

Go to localhost:8080

Introduction

We're building a linksapp (linktree, bio.link et.al.) for developers. It will interface with the GitHub network and API.

In our more expansve vision of this app we see it as the beginning of a new kind of minimalistic social network. One that isn’t trying to push an ads-driven feed on its users, but is rather all about connection around shared purpose.

https://blog.jim-nielsen.com/2022/other-peoples-websites/

Weird is a..

Origins

@erlend-sh said:

Right now I use GitHub as my go-to profile page: https://github.com/erlend-sh

It works quite well, since practically all of my ongoing projects, professional and otherwise, are taking place on GitHub. It still leaves a lot to be desired however.

A growing number of people in gamedev actually run personal Discord servers. It seems a bit like something an egomaniac would do (and it can be), but really it makes perfect sense for anyone who want to be showing how to do something to multiple people.

I have this erlend.sh domain that I’m not using. I wanna transcribe most of my GitHub personal page onto there, so I finally have my ultimate calling-card and place to call my own on the interwebs. Essentially an open source alternative to https://linktr.ee.

Perseus can do this very effectively, and with added super powers to grab your personal content from cloud APIs.

I’ve done so many projects over the years, and for each and every one of them there’s always someone out there with the interest and capability to help me solve some problem, usually because they've already been solving that problem for their own project. But it’s unnecessarily difficult to find these people, and for people to find me.

I wanna make it much simpler for people on the internet to go ‘I’m interested in working on x/y/z’ and be connected with other people who share that interest, especially among open source practitioners.

This sounds super cool, I myself have wished for a platform like this. There are numerous community platforms/forums but haven't seen something focused on common interest network. So aside from the links page, there would be say tags we can set on our profiles that gets on the radar of people to discover people looking for that interest or people with similar interest?

Yep, exactly. And there would be a simple directory & search based on people’s public profiles. For my @fishfolks project for instance, I wanna know about people who are into ‘open source’, ‘gamedev’ and ‘rust’. I’ve searched manually in this way on GitHub many times, and connected with dozens of collaborators that way.

I’ll for example see that someone already worked on a 2D pixel platformer game in Rust already, so I just get in touch and say ‘hey, seems like we might have a shared interest! Wanna talk?’. There’s a rather incredible amount of people out there working on the same kind of stuff without ever getting in touch with the others.

Prior art

Comments
  • Cleanups, refactors, styling

    Cleanups, refactors, styling

    • moved index.html and styles.css to src/templates/default
    • will now export the generated files to /dist
    • updated styles with some common practices
      • removed use of ch - nobody uses this because it's only useful for monospaced fonts
      • removed direct injections to html not because it's bad practice or anything but because all of the styles that were applied to it could be moved down to the body level, which is where they are now
      • apply font-family directly to text instead of indirect attribution
    • added a div of class content +css where the main content lives
    • added styles for a, a nice highlight color
    • renamed variable read_me toreadme - totally nitting
    • beefed up the .gitignore
    opened by jbutterwick 1
  • Genesis

    Genesis

    Genesis

    An almost mvp of weird.

    Overview

    Create and view pages which are generated incrementally using Perseus. Absolutely no styling whatsoever, only simple HTML.

    Routes

    Simply navigating to index should suffice. However, there are 3 routes

    • / : The homepage
    • /create : The form for creating a new page.
    • /link/<your username> : The created page that is fetched from the database

    Notes

    Currently all data is inserted and fetched from the database in a very crude and insecure way. This is just to init and demonstrate the app. This also doesn't implement editing the existing page.

    opened by nate-sys 0
  • Open Startup — Growth strategy

    Open Startup — Growth strategy

    Business Plan

    I plan to write the Weird version of what I already wrote for a former employer: https://blog.meilisearch.com/meilisearch-open-business-plan-v0-1/

    This article explains my basic investor/builder thesis: https://spicylobster.itch.io/jumpy/devlog/337996/everlasting-games

    It’s the Open Product Recipe. WordPress vs Movable Type Discourse vs VBulletin Mattermost vs Slack Strapi vs Contentful etc.

    In the short term, the open approach is a Good Enough differentiator. In the long term, it’s an objectively better way to build.

    So this is what we’re doing for weird-app as well. Starting with a linksapp as the smallest atomic unit upon which a much larger product and company can be built.

    Weird’s parent company ethos will be the same as @spicylobstergames : https://spicylobster.itch.io/jumpy/devlog/356201/spicy-lobster-open-gamedev-company

    Co-ownership & equity

    Everyone I work with is a potential co-owner of whichever project we’re doing together. I’ve no interest in being the majority owner of anything I build, since I’m not much of a solo-builder.

    In fact, I don’t really think it’s good for a company/product to have any owner with more than 5% ownership, assuming it’s big enough to have 20+ people involved.

    So even if let’s say me and one other founding dev built this company + product just the two of us together as 50/50 partners (which is already not the case, as we’ve presently got several collaborators involved❤️‍🔥),the long-term intent would be to bring our total ownership % down to 5% over the next few years.

    I also don’t think someone who’s not actively working in a company should get to sit on their share for very long until it starts automatically being sold off. I’m no fan of rent-seeking dynamics.

    @jbutterwick said: I've been imagining a software house as a worker-owned co-op based on some of ideas I've heard from Yanis Varoufakis at his talks for DiEM25, still finding my way of course, but it sounds like you've got some strong ideas and ideals around this This talk of his https://youtu.be/9aK4OztueuE?t=3861 has helped shape some of my ideas on the subject of organizational hierarchy and ownership I don't necessarily agree with absolutely everything about it but as a model I quite enjoy his proposal

    Investment

    I’ve looked around at a lot investors to find some that align with my values, and I’ve found one clear favorite: https://calmfund.com

    In short, they focus on taking a revenue split rather than hoping for some big exit. Also, they actually require that a company is earning about $5000/month before they invest, meaning they intentionally have limited leverage.

    There are other great options out there like https://oss.capital (quite like YC specialized in open source & cloud) and https://mozilla.vc, but Calm provides the best possible starting point with a very gentle on-ramp.

    Calm is Plan A, I.e. spending the next year trying to simply make a small and steady profit. What’s really cool about them is that they also don’t do the all-or-nothing pitch. Instead they invite founders to simply get in touch with them and keep an open line going.

    So as soon as we’re making $50/month, I’ll start pitching to them.

    Values

    https://blog.meilisearch.com/meilisearch-values-v0-1-tech-is-political/

    product vision 
    opened by erlend-sh 0
  • Grand plan — CommunityOS

    Grand plan — CommunityOS

    Note: This is a WIP document. I had this lying around for weeks as an unfinished note, so I’d better just publish it incomplete so we can continue it together.

    In no particular order (yet): to sufficiently express my identity as a netizen I require..

    • group messaging: Discord (Revolt)
    • safe & sovereign messaging: Element/Matrix (Commune/Matrix)
    • collective thinking: GDdocs/Notion (Subconscious/Mintter)
    • shared knowledge storage: Raindrop.io (Pocket)
    • public, static identity: Linktree (Weird)
    • personal, dynamic identity: Matrix (Chatternet)
    • interactive social-sharing feed: Twitter (write.as, mastodon, chatternet, tumblr, reddit..)

    They’re all (somewhat interchangeable) components of an overarching Community-platform in the making. Not one single app, but rather the entire stack I want as a community-professional as well as a regular participant. Both use-cases can and should be commercialized, for the betterment of The Commons.

    Weird-app is the smallest possible beginning of this larger meta-app: a CommunityOS.

    Weird starts us off somewhere in between business- and private-users.

    It appeals strongly to would-be professionals who wanna get their very first homepage started with ease. These users will largely be interested in a free offer though. And while we will keep building out a free offer from the start, we will quickly have to start recommending (and helping) anyone who wants a free service to self-host for now, because we don’t (yet) have VC money to offer free at-scale.

    Through various milestones of increasing feature complexity, weird-app will evolve:

    1. It’s a personalized calling card.
    2. It’s an identity aggregator.
    3. It’s a proof of external identities.

    Weird-app stack

    Website generator: Perseus

    Desktop app: Tauri

    Centralized Identity: Ory

    Connectors

    Distributed identity: chatternet, keyoxide

    Messaging: Revolt (+Discord)

    Blog: Write.as, Tumblr

    Notes: Noosphere/Subconscious, Mintter, (Notion)

    Microblog: tumblr, Mastodon, Bluesky

    Articles: Raindrop.io, BookWyrm, (Pocket, YakRead, Matter)

    Podcasts: Listennotes (+PocketCasts)

    External messaging: Email, Matrix, Signal, Telegram… (Send message through any platform, with a link to Connect Forever. I want to know if I’ve sent a message to a user on any of my connected messaging APIs.)

    product vision 
    opened by erlend-sh 0
  • Network of shared purpose

    Network of shared purpose

    The Network is effectively a global jobs board, but for mutual collaborations rather than work-for-hire.

    Easiest way to prototype this might be with GitHub issues/discussion. I could list my collab projects there.

    On my linkspage, I want a ‘Collab’ tab. Clicking it will reveal a list of the 1, 3, 10 (max) topics/projects I’m open to collaborate on.

    Mine would look something like:

    • Spicy Lobster
      • Fish Folk
      • Shotcaller
    • CommunityOS
      • Linksapp
      • Commune
      • Teachersapp

    It might need to be split in two:

    1. Working on: ..
    2. Open to work on: ..

    Or (1) need help and (2) offering help.

    My ‘offering help’ section is the topics-based one. It goes something like:

    • Open game production (talk to me if you’re trying to make and sell an open source game)
    • Open comms software production (ttmi you’re making open source communications software)
    • Open source strategy (ttmi you’re trying to create a sustainable open source product)

    Special interests:

    • Open source
    • Coops
    • Indie gamedev
    • Rust
    • Godot
    • Community

    GitHub profiles support topics already, so I’ve added the above to my profile repo.

    753FD139-DC02-47BE-8664-F9B5DB9356C4

    product vision 
    opened by erlend-sh 2
  • Identity platform

    Identity platform

    opened by erlend-sh 1
  • Styling system

    Styling system

    A linkspage must be customizable so as to become personalized. Related to #6

    BA6DD5DE-EFC2-4B21-BA44-2B3C9D29CE70

    There are two levels to this:

    1. Tweaking the parameters of the standard linkspage layout: https://help.bio.link/en/articles/5291280-how-to-create-custom-themes

    2. Changing CSS/HTML files: https://jetpack.com/support/custom-css/ Example: https://www.mousereeve.com/

    opened by erlend-sh 0
Take your first step in writing a compiler. Implemented in Rust.

first-step-rust Take your first step in writing a compiler, using Rust. Building from Source Make sure the Rust toolchain is installed on your compute

PKU Compiler Course 13 Aug 28, 2022
Voluntarily contributed solutions for the first practical exercise for the Compilerbau lecture WiSe 2021/2022 of Ulm University

Solutions for the first practical exercise Compilerbau lecture WiSe 2021/2022 - Ulm University Contributing Want to add your solution? Great! Just add

null 5 Dec 4, 2021
The first cesil transpiler/compiler in 50 years!

CesilC CESIL, or Computer Education in Schools Instruction Language, is a programming language designed to introduce pupils in British secondary schoo

null 5 Aug 6, 2022
Learn programming with Rust as a first language (book)

Learn programming with Rust as first language This is a book to learn programming from scratch. Read the book here: https://deavid.github.io/lprfl/ LI

David Martínez Martí 2 May 21, 2022
A rust crate can find first `Err` in `Iterator>` and iterating continuously, without allocation.

Api Document first-err Find the first Err in Iterator<Result<T, E>> and allow iterating continuously. This crate is specifically designed to replace t

null 3 Oct 28, 2023
The first compute-centric vector graphic video game

??️ Vong This repository contains source code for the first native use of a compute-centric vector graphics video game, inspired by Pong. ✍️ Authors @

Spencer C. Imbleau 29 Nov 24, 2023
A fast uuid generator in Python using Rust

ruuid A fast UUID generator for Python built using Rust. Its a simple wrapper on top of Rust's UUID crate. How to use? Installation: pip3 install ruui

Rahul Nair 19 Jul 13, 2022
A relatively simple puzzle generator application written in Rust and used via Javascript

Puzzlip Basic Overview This is a relatively simple puzzle generator application written in Rust and used via Javascript in https://puzzlip.com. If you

Nenad 5 Dec 7, 2022
An mdBook single PDF generator using pure Rust and some Node.js

mdbook-compress An mdBook backend renderer to generate a single PDF file for a full book. There are other similar projects, but most rely on chrome in

nxe 44 Jan 20, 2023
Uniswap V4 Hooks Salt Generator

A lightweight library designed to generate precise salt values with the correct bits prefix for V4 hooks. Simplify your hook development with targeted, easy-to-integrate salt generation.

ts 4 Feb 19, 2024
A command-line tool aiming to upload the local image used in your markdown file to the GitHub repo and replace the local file path with the returned URL.

Pup A command line tool aiming to upload the local image used in your markdown file to the GitHub repo and replace the local file path with the return

SteveLau 11 Aug 17, 2022
Plugin for macro-, mini-quad (quads) to save data in simple local storage using Web Storage API in WASM and local file on a native platforms.

quad-storage This is the crate to save data in persistent local storage in miniquad/macroquad environment. In WASM the data persists even if tab or br

ilya sheprut 9 Jan 4, 2023
Bolik Timeline is local-first software for keeping notes and files.

Bolik monorepo Bolik Timeline is local-first software for keeping notes and files. This repo contains alpha-quality software. This means that we are e

Bolik Oy 18 Apr 11, 2023
Local-first high performance codebase index engine designed for AI

CodeIndex CodeIndex is a local-first high performance codebase index engine designed for AI. It helps your LLM understand the structure and semantics

Jipiti AI 9 Aug 30, 2023
A rewrite of my first Password generator in rust.

PGen-Rust Getting Started You can get the latest version of PGen from the github actions artifacts or from one of these links: linux, windows, macos U

Racci 4 Jun 1, 2022
First class, scalable rust project generator with batteries included.

amble First class, scalable rust project generator with batteries included. Amble is in beta ??. Install | User Docs | Crate Docs | Reference | Contri

refcell.eth 13 Oct 23, 2023
Sūshì is a simple but customizable static site generator / blog generator written in Rust

sūshì Sūshì is a simple but customizable static site generator / blog generator written in Rust. Installation Install with Cargo (Recommended) cargo i

MrNothing233 2 Mar 20, 2022
Local blockchain for Free TON DApp development and testing.

TON OS Startup Edition Local blockchain for Free TON DApp development and testing. Have a question? Get quick help in our channel: TON OS Startup Edit

TON Labs 35 Jan 2, 2023
An Ethereum 2.0 Emulator for Local Testing of Eth2 Applications

Mousse is an Ethereum 2.0 emulator for local testing of Eth2 applications (mainly Rollups). HTTP Server The REST API definition can be found in the ht

Mousse 46 Sep 10, 2022
A tool to aid in self-hosting. Expose local services on your computer, via a public IPv4 address.

innisfree A tool to aid in self-hosting. Expose local services on your computer, via a public IPv4 address. Why? Most of the data I maintain is local,

Conor Schaefer 7 Mar 19, 2022