Skip to content
View Rick-Phoenix's full-sized avatar

Block or report Rick-Phoenix

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this userโ€™s behavior. Learn more about reporting abuse.

Report abuse
Rick-Phoenix/README.md

Hi there ๐Ÿ‘‹

My name is Ricky, and for most of my life, I thought I'd never be able to write any code at all.

Before my ADHD diagnosis in september of 2024, I had never written a single line of code in my life. After starting treatment, I have finally become able to do the thing that I love doing the most.

I started coding following the open source Odin Project, and after 4 months, I released my first full-stack project, which is a proof-of-concept social network inspired by Reddit.

After spending some time working on some libraries in Typescript, I realized that I wanted to try out other languages for the backend, so I started exploring Go.

So I spent 1 month learning it, and in that process, I created 2 libraries:

  • protoschema-go, for generating protobuf files from declarative schemas written in go (with a plugin to generate ConnectRPC handlers using the same metadata extracted from those schemas).
  • querygen, which is a small helper library that generates most if not all of the boilerplate for making aggregated sqlite queries with sqlc.

And then after that, I dived into Rust, which I have really fallen in love with it. So after 1 month of learning it, I released my first crate: protocheck, a validation library that leverages protovalidate annotations to automatically generate validation logic in Rust.

I have also made protoschema, which re-implements the protoschema-go concepts in Rust, but with a much better result due to Rust's flexibility with macros. Go check that out if you work with protobuf!

Projects and ideas for the near future

  • Porting protoschema-go to rust (yes, I dislike writing proto files that much) Done, that is now protoschema
  • Including more common protobuf types in my proto-types crate Done, all types from google.rpc and google.type are now supported
  • Probably a few other libraries to make working with protobuf a smoother process
  • Refactor a library I wrote in Typescript for generating boilerplate for TS projects, potentially porting it to Go or Rust
  • Diving back into Sveltekit (which is not my frontend framework of choice) and tauri to build a desktop app

Pinned Loading

  1. protoschema protoschema Public

    ๐Ÿ“ Programmatically define protobuf contracts using flexible, modular and reusable elements

    Rust

  2. protocheck protocheck Public

    โœ… Generate validation logic for rust structs from protobuf annotations

    Rust 1

  3. protoschema-go protoschema-go Public

    Define, customize, validate and automatically generate protobuf files from declarative schemas written in go.

    Go

  4. querygen querygen Public

    A package to automatically generate aggregate queries in go.

    Go