
Recreating YikYak with Postgres - AJRF
https://adamfallon.com/2020/07/10/recreating-yikyak-with-postgres/
======
asdff
It's so weird how yikyak blew up then rapidly failed. I used it pretty heavily
in undergrad and popularity didn't seem to wane during that school year when
it got big. It just died over the summer since you were geolocked to your
hometown, then it inexplicably never picked up again the next school year,
just dead on arrival. Had they let people still use their collegiate yikak
while off campus for the summer, yik yak might have been a juggernaut by
today. I still don't think the niche has been captured: an anonymous,
hyperlocal twitter/reddit hodgepodge, fueled solely by original and genuine
campus memes and therefore immune to corporate ad peddling like global
networks. Maybe that's why it failed.

~~~
implying
There was a lot of social/cultural issues with YikYak. My college explicitly
forbid using it, and a lot of other small colleges had similar policies,
largely because of abusive posts happening on the platform.

~~~
three_seagrass
Their opaque moderation tactics also killed it. There were the transparent
obscenity warnings, but then there were also shadow downvotes for certain
terms that even closely resembled a human name, which was rife with false
positives. You could talk about a street with a human name and 10 minutes
later your comment was voted out of existence.

------
AJRF
Hey - I'm the author (I self-posted this, I hope that isn't against the
posting etiquette here).

I wrote this post after a bit of a failed startup I tried making at the start
of lockdown. It was called Ottr and it essentially aped YikYak exactly. I made
a react web app, an API with web sockets (it had real time posting and
comments) and even an iOS app.

I burnt out on it and gave up because it seems so hard to get that initial
traction.

I've been trying to get the project posted publicly on GitHub for a while now
but I wrote maybe 10k+ lines with literally zero tests because I was just
trying to get it to market. The code isn't bad but i'd feel bad posting it
without tests so that's what i'm working through now.

~~~
thedirt0115
Don't be afraid to put unfinished code or code without tests up on GitHub --
just mention in your README that it's not production-ready yet or something.
It still has educational value for the community. Maybe someone will even help
you write tests! Btw, thanks for sharing -- I had never heard of the R-Tree
data structure before.

~~~
AJRF
I really should just do this. So there are a few parts (API, App, Web, DB) to
it - I wonder what is the best way of representing that? Just have the same
readme with links out to the other projects maybe?

~~~
swsieber
Maybe a docker compose file illustrating how everything is connected?

------
dvt
Very interesting, and good intro to Postgres R-trees! I kind of miss YikYak,
it was pretty fun to see all the posts around UCLA. If it focused a bit more
on promoting good content (and not just mindless noise, which eventually turns
into edgy racist garbage), it might still be around.

(As a side note, I've always wanted to give MongoDB geospatial[1] queries a
try. Wonder how they compare to Postgres' offering.)

[1] [https://docs.mongodb.com/manual/geospatial-
queries/](https://docs.mongodb.com/manual/geospatial-queries/)

------
realbarack
Nice post! I love hacking around with PostGIS. While I'm not normally a huge
ORM advocate I do like the GeoDjango API for this sort of thing [0].

There hasn't been enough experimentation with geospatial social applications.
(There was a lot back in the early 2010s but it petered out.) I'm currently
working on an experimental chat app that creates Slack-like channels
associated with a topic and a location. I'm looking for collaborators on this
project (primary need is for designers and community-builders, but also
programmers) so if it appeals to you please get in touch (HN-facing email in
profile).

[0]
[https://docs.djangoproject.com/en/3.0/ref/contrib/gis/](https://docs.djangoproject.com/en/3.0/ref/contrib/gis/)

------
dmlittle
Nice! I hadn't heard about R-Trees before. I guess you can potentially make do
with a quadtree[1] but it seems R-Trees are better suited for geodetic data.

[1]
[https://en.wikipedia.org/wiki/Quadtree](https://en.wikipedia.org/wiki/Quadtree)

------
sennacy
Interesting post! I also recreated YikYak as a side project and had to solve a
lot of similar problems (It's called Clacku on the iOS and Android app stores
if anyone cares). Managed to get a decent chunk of users to actually use it.

