whereof one cannot speak

100 Days Challenge: Day 15

In this post I elaborate on my development process and outline my current roadmap.

Development with Vercel v0

My first deployed website – tinytoolchest.com – is built using a modern web development framework called Next.js. And Vercel, the owners of Next.js, have trained an AI chatbot to be an expert in developing Next.js applications with modern best practices: v0

Building applications with v0 is surprisingly simple. The Next.js framework enables you to develop components of a website independently so that you can borrow, swap, and stitch together ui elements to build interactive and highly modular websites. These components can be shared and integrated easily using shadcn/ui CLI commands. You even get the source code for the component into your project. So even if you are borrowing a component that someone else built, you get full access to its inner workings, and can manipulate and modify the component however you please. After building your website, deployment to Vercel is as easy as pushing to a github repo. The ease of integration and rapid development cycle with v0 are truly empowering to me, as a data theorist who’s spent most of their time programming in R. (Reading this back this sounds like an advertisement.)

After setting up tinytoolchest with 6 applications, I was feeling good about my abillity to build Next.js websites, and I wanted to expand to other frameworks. So I spent days researching all of the modern best development practices. If you are not keen – there are an overwhelming amount of ways to build and deploy an application these days; numerous design philosophies, all with their own tradeoffs – it can be easy to waste time here (The Stack Overflow 2024 Developer Survey is a good place to start wasting your time.)

Reflecting upon this moment, the more I learned about the complexities of building modern tech stacks, and the less I spent time actually building out projects, the worse I felt. It never helps to think you are falling behind, but if you are, focus on accomplishing the little things. Breaking the fast took about 4 days, but I started feeling better the second that another app was deployed.

And I’ve decided that’s what tinytoolchest is for – it’s my reminder to get stuff done. That even if I want to expand my knowledge to encapsulate everything, there is always the forgotten cost of time. Management of: time, priorities, and expectations, are all universal skills that are developed firsthand.

There are now 15 apps on tinytoolchest.

I’ve made a few side-projects, but I want to learn how to deploy them to a DigitalOcean virtual private server (VPS). I’m also learning how to handle api calls and managing development between the backend and frontend. Full stack engineering is not my field of expertise, but I’m diving into this ambitiously.

My bigger roadmap / plan:

To Do:

  • Deploy my side projects (some classic flash games, interactive music visualizers, physics simulators)

Apps to Build:

  • Fantasy Sports Analytics
  • Warehouse Inventory Manager
  • Privacy Policy Auditor

Goals to Skill Up:

  • Learn to deploy projects on DigitalOcean
  • Learn to deploy projects on AWS with Docker / Kubernetes
  • Build an app w/ Rust
  • Built an app w/ Go

Side-Goals to Skill Up:

  • Build an app w/ Clojure
  • Build an app w/ Elixir
  • Convert an app to Mojo
  • Learn Lisp
  • Learn Prolog
  • Explore symbolic programming (using MAX Graph?)

Daily Goals: