Introducing IdeaDog — A [Statically-Typed] Social Ideas Platform

Brennan D Baraban
5 min readJun 26, 2019

--

We have all had those moments, those flashes of inspirational genius where we spontaneously realize a great thought and think to ourselves — now that, that, is a good idea.

I can personally recount several such moments; in fact, I like to consider myself an entrepreneurial genius within the field of dog-related business ventures. In rapid order, allow me to share my ideas for:

A dog hotel, for humans.

Dog contact lenses.

An airline, exclusively for dogs.

I regress. My intended takeaway is — what happens to these ideas? Maybe you share them with your friends (or all your friends, or simply all people, since my goodness my dog ideas are just so impressive). Maybe you even write them down somewhere.

Yet, most of the time, these ideas go by the wayside. Forgotten. Never to be brought to fruition.

But, what if it didn’t have to be that way?

What if, instead of just forgetting these great ideas that each and every one of experiences each and every day, we shared them among ourselves? What if, instead of simply writing down cool thoughts individually, we posted them to a platform where they could be discovered and potentially even carried out by the incredible, extensive, inspiring community that is the entire world?

I think this is a pretty cool idea, and for this reason I am excited to introduce IdeaDog.

IDEA — SOCIAL MEDIA SHOULD BE INTUITIVE

IdeaDog is a social media platform for sharing ideas. It’s super simple to use. Let me show you!

This is a [remarkable, extraordinary] idea.

Ideas are associated with a user, a posted-date, the text of the idea itself, and tags. When posting an idea, you are limited to describing it in 140 characters, and tagging it with a maximum of 3 tags.

This is Tully.

More than just our logo, Tully is our brightness indicator. If an idea has more upvotes than it does downvotes, the idea is “brighter,” and “happy” Tully will appear more opaque than “sad” Tully. Vice versa for an idea with more downvotes than upvotes.

How are brightness indicators calculated? Don’t worry, there’s no calculus involved. Brightness is calculated by a simple division as follows:

% brightness = upvotes / (upvotes + downvotes)

The brightness indicator is used directly as the corresponding transparency values for an idea’s “happy” and “sad” Tully’s. And while I’m happy to share with you up-front how we calculate brightness ratings behind the scenes, I’m more happy to share that brightness indicator numbers will never be visible on our site. The rating system on IdeaDog is anonymous, and involves no visible number rankings. We intend IdeaDog to be inspiring and empowering, but not comparing.

These are tags. These are filters.

Tags are for more than just posting ideas — they’re also for discovering them! You can choose to filter displayed ideas by as many or as little tags as you like. Additionally, you can sort those ideas by time (“all”) or brightness (“bright”).

IDEA — TECHNOLOGY SHOULD BE MODERN

The development team behind IdeaDog is all about developing web apps with best practices and the latest tools. Which brings me to a key question — what did I mean when I stated that IdeaDog is “statically-typed?”

Well, the front-end of IdeaDog was developed using React, with TypeScript, while the backend was built with a Rust web server. What do you get when you combine TypeScript and React? A unique tech stack, sure (we haven’t even mentioned ArangoDB yet). But in our book, you get the ultimate statically-typed web app.

I will not go too much in-depth into the tech stack of IdeaDog right now— for the developers among you, we have dedicated articles describing the back-end (here) and front-end (here). Nonetheless, a brief sampling of the how behind IdeaDog includes:

  • Asynchronous, declarative data fetching with React Navi.
  • Rapid, graph-model querying between our Rust server and an ArangoDB NoSQL database.
  • Secure, passwordless user account authentication.

IDEA — YOU SHOULD SHARE WHO YOU ARE!

Hey, that’s a smart idea. You should post it on IdeaDog! 😅

IdeaDog was developed by a small team of just two people. Yours truly, and my Rust-enthusiast companion Martin Smith.

We conceived and built IdeaDog for our end-of-the-year project as students at Holberton School, a full-stack software engineering school in San Francisco. Do not misunderstand me, however — while IdeaDog was built for a school project, the web app was planned and implemented entirely between ourselves.

We are two web developers passionate about static typing, best practices and the trendiest (but for a reason, always for a reason) technologies. If you’d like, you are more than welcome to reach out to us at our contact links listed below:

Brennan D Baraban

Martin Smith

This is not all for IdeaDog! Martin and I are still hard at work making it even better, and have more features coming your way:

  • Idea searching through our (work-in-progress) search bar.
  • Fully-implemented idea upvoting/downvoting.
  • Fully-implemented user account viewing.
  • Ability to create new tags.

Finally, we have more articles that go into more technical detail behind IdeaDog’s tech stack. Read more below!

Oh wait, and of course — visit our site!!

ideadog.site

github.com/bdbaraban/ideadog

--

--