8 ms·
Hi everyone! Author of Umami here. I totally did not expect this response so it looks like you all hugged my little server to death. The demo should be back up
by mcao 6y ago
Hi everyone!
Author of Umami here. I totally did not expect this response so it looks like you all hugged my little server to death. The demo should be back up now.
A little background. This is a side project I started 30 days ago because I was tired of how slow and complicated Google Analytics was. I just wanted something really simple and fast that I could browse quickly without diving through layers of menus. So I created Umami to track my own websites and then open sourced it. The stack is React, Redux, and Next.js with a Postgresql backend.
Would be happy to answer any questions you have.
- dom96 6y agoNice! Question for you, how did you make that nice 3D image on the front page with various screenshots overlaid over each other? :)
- mcao 6y agoIt's all done in Photoshop. Just take screenshots, then transform, rotate, distort them to look flat. Then add some drop shadows for a 3d look.
- newusertoday 6y agowhat are your thoughts on using ui-frameworks like material/ant etc. I checked the github and it looks like you have written all components including css by yourself.
- mcao 6y agoFor personal projects I tend to write all the CSS and components myself. I just like being able to control everything down to the pixel without reading some documentation. But that's just my workflow. I say just use whatever gets the job done. The only thing I used was Bootstrap grid for responsive layouts. Tailwind CSS is pretty popular.
- throwanem 6y agoCan confirm, Tailwind is legit.
- blahblah4332 6y agoThis would definitely be really interesting if it had the ability to create analytics in response to UI interactions. There are a lot of SPAs out there that use analytics for feature tracking, and the self-hosted aspect would fit well with those users.
- mcao 6y agoEvent tracking is already supported in the build. I just haven't completed the UI components yet. You simply add a custom CSS class on an element and it will automatically be tracked.
- blahblah4332 6y agoOh OK, I didn't see that when I scanned the documentation. CSS is an interesting solution for that
- sorenbs 6y agoThis is a really cool project. I’m happy to see that you are using Prisma for data access. If you are interested we can set up a shared slack channel so you can provide feedback and we can make sure we support everything you need for this project :-)
- anderspitman 6y agoSince it's self-hosted, is there a reason you went postres rather than something simpler like sqlite or even flat files?
- mcao 6y agoIt uses prisma.io for the database connections and SQLite is supported. I just haven't had the time to implement it yet and make sure all the custom queries are working. I would welcome a PR.
- imedadel 6y agoThis is an awesome project. Is Postgres good enough for high traffic or would it be better to switch to Redis?
- anaganisk 6y agoTho very rare, why would you use a database that is at risk to be erased completely, and with a limited set of queries as the main DB? Honest question.
- imedadel 6y agoMy concern was the performance of Postgres when it's receiving thousands of writes per second. I assumed that such a task would be more suited for Redis, then the data could be filtered and sent to Postgres for longer storage (or some storage solution such as S3).
- ponyous 6y agoI think bigger issues would be time related queries when dataset gets bigger as opposed to write speeds. I think a time series database is best suited for this kind of project (timescale build on top of postgres, influxdb, ...)
- mescalito 6y agoLooks really neat! It might be really interesting if the live demo is the actual live stats of your umami.is :)
- mcao 6y agoI will switch it over at some point. I've been running it on my own sites for a month so I just wanted to provide an example with more data to play with.
- killerpopiller 6y agoMatomo (former Piwik) is an alternative imho.
- modoc 6y agoUnsure about Umami's performance, but Piwik was a non-starter for several higher traffic sites I worked with due to performance issues (even after throwing big hardware at it).
- ksec 6y agoOut of the similar alternative, I think Plausible is currently leading in scaling and performance. I think this is also the reason why they are the most affordable in pricing. Note: Not affiliate with them, just observation from researching GA alternatives.
- noahth 6y agoOne big difference is that Matomo doesn’t support PostgreSQL and has said they don’t plan to.
- adventured 6y agoGreat project. I'm going to follow its development and consider using it in the near future.
- nodesocket 6y agoHow does a post on HN that has 591 points and on the front page only have 1184 views and 567 visitors in the last 24 hours according to the live demo? Something is not right. Should be seeing lots more page views and users right? EDIT: just noticed the demo is for another site flightphp.com not the landing page umami.is which is sort of weird. That explains it. The demo should really be demoing the metrics for umami.is. Which is a shame, because that would prove how scalable umami.is is. Unfortunately umami.is is not eating its own dog food.
- deleted 6y ago[deleted]
- mcao 6y agoI actually am using it to record metrics for umami.is: https://app.umami.is/share/8rmHaheU/umami.is https://app.umami.is/share/8rmHaheU/umami.is I'm using it for all my websites. The reason I went with another site for the demo is because I wanted something with at least 30 days of data so users can play around with the different settings. Once I get enough data, I'll switch it over.
- archon810 6y agoJust FYI, some mobile optimization is needed. https://imgur.com/a/j9MYG9z https://imgur.com/a/j9MYG9z
- nodesocket 6y agoRecommend to create an issue on the Github https://github.com/mikecao/umami https://github.com/mikecao/umami
- ksec 6y agoAre there any reason why you dont use currently available Open Sources solutions and decided to create your own? ( Other than it is fun to do it yourself :D ) I am wondering why in the past 2 years we went form having little to zero GA alternative to all of a sudden having dozens of them. I am genuinely curious.
- mcao 6y agoThis may just be me, but I'm very particular about my software. I want it to look and flow a certain way. So I wrote Umami mainly for my needs first. Plus it was just a fun project. I always start side projects so I can learn something new. In this case it was Prisma.io, Chart.js, Next.js authentication, JWT and Postgresql. All of which I didn't know about until this project.
- anaxag0ras 6y agoPretty impressive you learned all this and implemented in just 30 days.
- aliswe 6y agoJust a little remark: A "Page not found" label flashes by when loading eg. https://app.umami.is/share/ISgW2qz8/flightphp.com https://app.umami.is/share/ISgW2qz8/flightphp.com
- sabas_ge 6y agoOh, thank you for flightphp, I recognized you from the url used in the demo :D
- btian 6y agoThat's very impressive, Mike. Very fast, looks beautiful
- shermozle 6y agoI have a feeling this requires the database to be available to collect data. That's a bad pattern. No database can be up all the time and an application like this should not lose data. Have a look at patterns that resolve this like Snowplow Analytics.