Go back home

Github projects discovery of January 2024

Emilien Jegou, Wed January 31 2024

️Hello there fellow developer! This is the first article of a new series that will highlight GitHub projects that piqued my interest over the current month, for the most part you can expect to see: projects that are practical, original, high-quality, functional, and, when available, those that include a demo; I tend to avoid repositories that are impressive but lack tangible applications.

This month issue is highly focused on AI, but you will also find cool CLI tools, a series of guide and a new backend framework for rust inspired by ruby on rails, enjoy your reading!


GPT crawler

#typescript#AI#Scraping

The team at Builder.io, known for creating Qwik.js and Partytown, among other tools, has once again impressed me with their latest open source release. This time, they've ventured a bit off their usual track with GPT Crawler – a tool that enables you to craft a custom GPT model using the extracted data from a webpage.

Library developers seeking to enhance their website's accessibility will find this especially beneficial as it allows you to provide information beyond ChatGPT's training set to your users. Qwik.js, a new frontend framework from the same creators notably has a very useful AI assistant on their website which could very well be powered by GPT Crawler!

Demo launch of GPT crawler using a basic configuration
Demo launch of GPT crawler using a basic configuration
Demo launch of GPT crawler using a basic configuration
Gpt crawler on github

EmotiVoice, text to speech synthesis

#python#AI

Emotivoice is an open-source text-to-speech engine with an impressive array of over 6000 voices! Its standout features include:

It's worth noting that Emotivoice is merely the tip of the iceberg of TTS engine, as a flurry of models were released in recent months. One user is actively tracking all recents models on this link, the choice is yours!

EmotiVoice on github

PhotoMaker, your face on generated images

#python#AI

Photomaker, developed by Tencent, represents a notable leap in AI image generation technology. In essente it allows the generation of a photo or digital image by combining a given face with a prompt. While the result image is not flawless, the level of fidelity it achieves is impressive, often producing results that can appear real.

To try it, the simplest way is to go on replicate where the full model can be tried for free without signup!

Demo of photomaker on a face with glasses
Demo of photomaker on a face with glasses
Demo of photomaker on a face with glasses
PhotoMaker on github

OCRS, a CLI for image to text conversion

#rust#AI#CLI

First rust package of the month, OCRS is a CLI tool designed to facilitate image-to-text conversion (see below). After testing I can say that the results from OCRS are very convincing, it can accurately identifies title text and various menu navigation items. While there are some artifacts in the result text, there are also ways to deal with them in either pre-processing (e.g., cropping the input image) or post-processing (e.g., asking a language model to correct the text output).

bash
ocrs image.png -o content.txt
Text conversion of martinfowler.com
Text conversion of martinfowler.com
Text conversion of martinfowler.com

It's exciting to see the AI world breach over to the CLI environment, as there is still so much innovation that remains in the space!

OCRS on github

Maybe.co, manage your finances

#typescript#node#backend#application

Maybe is a personal finance management app, originally fully closed, the project went open source in January 2024 aiming to change their business model into a self-hosted/hosted solution, following in the footstep of companies like GitLab.

At first glance, their strategy appears to be successful, as the project reached the impressive milestone of acquiring 13,000 stars on its repository just two weeks after its release!

Maybe.co dashboard view
Maybe.co dashboard view
Maybe.co dashboard view

It is rare to see full-stack application as polished as Maybe go fully open-source, and it's all in typescript! Beyond its capabilities as a personal finance app, Maybe offers invaluable insights into the construction of financial software, I particularly enjoyed reading some of their documentation!

Maybe on github

CurlyQ, a curl implementation on steroids

#ruby#CLI

Curlyq is a CLI tool that marries the text-fetching efficiency of curl with a webpage parser.

One of it's notable feature is its capability to open web pages in a browser, enabling JavaScript execution prior to data retrieval, something curl is not capable of.

This tool can facilitate the web scraping process by eliminating the need of configuring a scraping environment in either node or python, here everything is packaged inside one CLI command.

bash
curlyq scrape
  -b firefox \
  -q 'links[rel=me&content*=mastodon][0]' \
  https://your-url/

{
  "href": "https://nojack.easydns.ca/@ttscoff",
  "title": null,
  "rel": [
    "me"
  ],
  "content": "Mastodon",
  "class": [
    "u-url"
  ]
}
CurlyQ on github

Loco

Loco.rs website
Loco.rs website
Loco.rs website

Loco is an ambitious project aimed at simplifying the backend development experience in Rust by copying many elements of the ruby on rails backend development experience. Typically, setting up a Rust backend involves numerous decisions – from choosing a web framework, to selecting an ORM, adding a queuing system, or even setting up anthentication... Each of these components requires time to integrate, often slowing down the early stage of a project. Loco aims to streamline this process.

Right off the bat, Loco gives the user the ability to add database migrations, use workers and queues, send emails, build pagination, use socket communication... and even setup authentication! To enable these functionalities Loco has to be strongly opiniated on how your backend will be architectured. While this limit the flexibility of this framework we've seen time and time again how appreciated this archetype is – think laravel for php, ruby on rails, nest.js in node...

Loco is a much needed and exciting addition to the rust ecosystem and I am looking forward to seeing it evolve!

Loco on github

Guides & resources

What better way to finish this article than by giving you more reading! below is a handpick list of repository containing resources for developers — Enjoy!

Awesome behavioral interviews

This repository contain a comprehensive guide and resources designed to help candidates excel in behavioral interviews.

Resources to become a great engineer leader

An extensive, personally curated list aimed at fostering growth in software engineering, system design, data engineering, leadership, and business.

Path to Senior Engineer handbook

On the same line, this repository contain a vast array of learning materials on the thene of general software engineering growth, system design, leadership, web development, and more...

Write you a vector DB

A comprehensive tutorial designed to teach the integration of vector database in both C++ and Rust.

Awesome low level design

This repository contains resources to improve and excel at system design, their examples mainly focus on OOP but their premises questions can be applied to any paradigms.