Hacker News new | past | comments | ask | show | jobs | submit login
Show HN: Open-Source Food Delivery and Local Shopping Platform (github.com/sumeetmoray)
227 points by sumeetk on June 27, 2019 | hide | past | favorite | 58 comments



We open sourced our old startup https://crunchbutton.com too--included iPhone and Android apps, a whole suite of tools to support twilio customer service, driver scheduling, sending orders to restaurants a bunch of different ways, smart courier order routing, automated chargeback disputing, and a whole lot of other custom stuff we built for the business. It's a bit old now, but feel free to use it if you like.


Is there more detail to the story of your startup we can read about?

I like movies like startup.com and e-dreams.


https://www.failory.com/interview-failure collects stories of such startups.


Was it using Zomato model? Looks like this open source has similar features https://github.com/agriya/OFOS


I wonder if this type of app is a good use case for a P2P distributed app. E.g. Dat style? I see a lot of P2P that is basically good for distributing your favorite cat photos (https://github.com/beakerbrowser/dat-photos-app) but maybe this is actually a useful app for P2P. Thoughts?


My thoughts exactly. The market discovery service mentioned could be done off a distributed network. Making it P2P could also enable a host of delivery Entreprenuers to participate in the delivery in a seamless way with the shopkeeper or the customer setting a delivery bounty.


That sounds like a problem requiring consensus hence not implementable with p2p tech. It would need a blockchain or something similar.


Yes this app can also be used as P2P shopping, local job discovery and food delivery ...

I believe ... more than technical ... its upto the government who will decide they want to allow p2p shopping stuff ...

Because government has to account for taxes in e-commerce ... so a lot depends on local government and what it allows !!!


What's the tech stack behind the website? Just a bootstrap template?

How did you make the flat-art pictures (e.g. the one including the MIT and CC logos?) Do you have a good, preferably 'free' repository/website for those flat-art humans?


Its just a simple html bootstrap website ... built using this theme https://htmlstream.com/templates/front/

illustrations are taken from this website : https://undraw.co/


Cool


thanks! Great work btw!


Walking into many busy restaurants these days and seeing an array of devices functioning as displays for different delivery platforms convinces me that some kind of common order bus/platform needs to happen.

At some restaurants, the simultaneous parallel incoming orders means they miss yours. At ones where they don't, there's the imposed cost of someone paying close attention to all of them. More often than not, this is the cashier, which means if you decide to walk in and order in person like some barbarian from 2010, you are waiting in an invisible line not just for your food but for any kind of attention.

The likes of Doordash and Seamless and Grubhub don't seem properly incentivized to solve this problem -- sure, they might care if order efficiency or fulfillment suffers and users have a directly bad experience, but they may not demand anything from their product team more complicated a rating system punishing providers. And they don't want a common platform; they want to be the platform.


Yes they all want to be the platform ... this is a kind of issue that is common with proprietary commercial projects ...

And may be an area where Open-Source could be of any help !


Very interesting. My most immediate question would be whether or not your platform has gained traction in any specific geographic locations? How many stores are participating and what percentage of that local market do they represent?

We've been working in a similar space (hyperlocal for furniture, home decor and fashion) for about 5 years with ATTIC (https://attic.city). The premise of our work runs a bit contrary and challenges a platform like this -- the primary issue is store willingness to participate in yet another platform.

Putting grocery stores aside, most other retail stores have too much to do and manage on the tech/marketing front: facebook, instagram, twitter, pinterest, snapchat etc. Add on their own website with its own e-commerce platform plus several other shopping or delivery platforms (etsy, posh etc) -- it's too much. As a result we've ended up with extremely fragmented marketplaces and none do a good job of showing a comprehensive view of your local shopping options. For example, some restaurants I like are on X. Others are on Y. Others still are on Z.

Like I said, we came at this problem from a different angle. We're indexing local stores to build the platform that actually has a comprehensive view of a local market -- and to fill in the gap that services like Google Shopping do a poor job of representing. It's slightly slower out of the gate as we do some preliminary research for each city/market. But we've launched ATTIC in 9 major US markets so far and expect to be at 15 by year's end.

As an aside, do you know where you first came across the term hyperlocal? I wonder who coined it. We've been using it as well, but we're certainly not the first.


I am not affiliated with this project but can give you some insight as I've spent a significant time in hospitality industry and build a delivery system for a QSR.

Most restaurants that focus on delivery are QSRs. While full service does deliver, usually, its not their main focus.

Within the QSR space, brands are mostly broken down by number of locations which influences their decision making with regard to their technology. Most established brands in Tier 1 markets do focus on technology heavily: its a significant revenue stream. However, their approach differs.

The McDs, Penera, Panda Express, Chipotle of the world usually stick to only one platform. The focus more on integration of Delivery, POS, and inventory more than covering significant amount of platforms. Some decide to use an off the shelf solution while others use a 3rd party delivery system on top of whatever their POS provider brings. There is significant complexity in this paragraph and they all approach it differently but the gist is the same.

Smaller brands that have ~1,000 locations or less begin to splinter into 2 groups: some focus on similar integration as above while others will support multiple platforms via several tablets. Since the revenue stream is significant, they focus on Ops to get everything in line and have gotten to be extremely good at managing/streamlining the process. Its not perfect but it works.

Brands between 20-500 locations will also manage multiple platforms but some invest into "aggregate" providers. Such companies will build out a unified backend for the location and integrate with multiple marketplaces (Grub, Door Dash, proprietary, etc.) to unify the system. Usually, they use a 3rd party for the admin that already has the infrastructure (OLO comes to mind). While in this approach streamlines operations, its quite costly as they charge for volume of orders.

Brands with less than 20 locations usually resort to just using 3-5 tablets on their walls for orders.

As a disclaimer, these are generalities and there are other factors that influence decision makers such as franchising percentages, Tier 1/2/3 markets, and their overall approach.

So to answer your question: most brands are currently moving to aggregate platforms or manage fewer platforms in order to streamline their operations. Large brands also use Yext to streamline their on-line marketing presence or other providers.


Thanks. Very interesting.

I gather your response was mostly in reference to food delivery services. The OP was suggesting this as a platform for more than food, which is what I'm primarily interested in. It's retail shops that are less experienced with and newer to the idea of everything needs to be delivered right away that I'm curious about. Having said that, our original focus was on furniture stores who have always had to deal with fulfillment and delivery. The type of delivery is very different in nature though -- a 200lb sofa vs a 16oz burrito!

Thanks again.


Yes it is more than just a food delivery platform ... it was originally designed for local shopping ... but i discovered that it can be used for food delivery as well !

Its primarily designed for fruits, vegetables, grocery, but you can use it for anything ... we are currently adding filtering by item specifications ... which might be more useful in your use-case ...

Currently The delivery is provided by the shop-owner ... ... there is orders inventory ... where the shop-owners can keep track and update the order progress like if its packed and ready for delivery ...

Its just another e-commerce platform which is more focussed for local shopping !

Hope that helps !


Thank you for sharing your experience ... quite interesting ... to read ...

what in your experience is better option for delivery ... delivery by the restaurant or the delivery by the aggregator platform ...

The first is already there and we are planning to bring the latter one also to the software !


In Tier 1 markets (big metro areas, in the US), aggregate platforms are the way to go. The main driver of this is liability insurance and worker's comps.

There is also pressure from municipality laws on how delivery staff are titled: if they're delivery then you can subsidize their hourly rate w/ tips but they cannot perform more than 20% of their work as a regular employee (stocking, packing food, etc.)

2nd Tier markets (suburbia) have their own issues and intricacies since delivery is driven and liability insurance become a bigger issue + range. However, they haven't been as aggressive to move over to 3rd party delivery (unless we're talking large corp.)


interestingly Hyperlocal wasn't in my dictionary ... i used to promote this project as something that could help in local shopping ... but then i discovered hyperlocal and i saw the concept is quite similar !

like y4mi pointed out ... there is a wikipedia article on this word https://en.wikipedia.org/wiki/Hyperlocal

I started promoting this project only recently ... lets see how it goes !!

In countries like India and even other parts of the world ... lot of small business --- mom and pop stores are losing business and not able to compete with bigger stores, malls like walmart ...

This project was just an attempt to help them ... may be just technologically ... so that they could compete and stay technologically competitive with big business !


You have a lot of the same motivations we have when started ATTIC -- as in helping smaller retailer operations compete with the technical and marketing budgets of big business.

To my original question, have you seen your platform in use anywhere? That is, has it been adopted to scale in any cities? Just wondering. If it's new and not there yet, no problem.


no ... it's not in use anywhere i believe ...


> Use of the term originated in 1991, in reference to local television news content.[1]

Check Wikipedia for more :)

The [1] responds with NXDOMAIN though, can't be verified I guess?


Sorry to be that guy that points out spelling mistakes. I believe you wanted to say “commercial” instead of the “commertial” that you have.


Be the change you want to see in the world: https://github.com/SumeetMoray/Nearby-Shops-End-User-Android...


Pull requests for typos ('Hyerlocal' is another one, 'Migeration ', online-to-offline vs Offline-to-Online vs - in the image - Online2Offline) feel like overkill to me though?

And I currently see three PRs for the same 'commercial' typo..


thank you ... for the PRs ... i will check that out !


Thanks for suggestions ... i am glad to receive your help ... its good to see when people are willing to participate and help !


You have a \ at the bottom left of your website. Nice gesture to open source, good on you!


Apologies for ignorance, but what's this about? Not easy to google...


It's literally just that the character "\" is visible in the bottom left corner off the page on https://nearbyshops.org, presumably by mistake.


Ah. I read the original comment like having the backslash is the nice gesture, some new meme or something like that...


... yes it exist ... i can confirm ... it got there by mistake ...


I was confused by that for a minute, but I don’t think it is in anyway related to the rest of the comment. He was just pointing out a mistake and making a separate point about being a good open source Citizen


thanks for pointing that out ... such a keen observation and great attention to details ... :))


I haven’t read the code yet so I apologize if this was already addressed.

Do you already have logic in place to deal with different municipality taxes?

For example: in Chicago, you have an additional tax on non-juice carbonated beverage in addition to your regular sales tax plus a locality tax, depending on neighborhood. In other states there are also “sugar tax”. In NYC, some items are tax exempt post-production.

I’ve actually worked on food delivery product before and would be glad to contribute.


Right now we assume that the Price of the Item includes the taxes ... therefore we haven't added taxes in the end-user bill. We add delivery fee and market fee and calculate the Net-Payable.

But as you say ... if its needed we can add taxes ... in the bill ... and its not so much difficult to integrate that ...

I will be glad to see more contributions to the project ... i believe one of the best advantages of open-source is that people can share and collaborate openly !


> if its needed we can add taxes ... in the bill

You should check the related laws to produce compliant bills.

I don't know about the US and its various state laws, but in my country, such pieces of informations are mandatory on bills. Well, there are different forms of bills, and also there are different requirements depending on the amount charged; but anyway all these are things you should study in order to publish a piece of software which produces bills which conform to local laws. Some governments can get really picky when it comes to the main or a major source of their income (VAT and such other taxes) and possible fraud indicators.


This is very interesting, I'm glad the idea of online local shopping is gaining traction in the collective mind. I've been working on similar things although with a completely different stack (JAM & PWA instead of a native app), and with a slightly different intention in mind (my idea is for the local app to finance local NGOs), and I want to start with the vegan market, financing local vegan activism.


Your idea is also a good one ... funding local NGOs is also an essential initiative ... Yes i agree ... local business needs a boost !

Well a PWA can be built for Nearby-Shops also ... it might be good to have !


Thanks for sharing ! This could be very useful for bootstrapping businesses. One could spend months coding this.


thank you ... we thought its good to release it open-source so that people don't have to spend time building software and they can get straight to building business ...

More-over because of being open-source it can also help in the development ... and it can help the new developers learn from the existing source code !!!


Reminds me of Open Food Network, which seems to have quite an active community making contributions https://github.com/openfoodfoundation/openfoodnetwork


yes it is similar and the fact that both are non-profit makes it similar in the way project organization is done !

But nearby shops includes shopping for other stuff also !


The legal nuances, tax variations and jurisdiction level laws that need to be implemented is not trivial and requires significant domain expertise - where is this going to come from?


What about the backend?


Backend Source code is also open-source under MIT License https://github.com/SumeetMoray/Nearby-Shops-API

Source code for Entire Project (Shop-Owner app and Admin app) is available on github ... Under MIT license ... free for commercial use

https://github.com/SumeetMoray/Nearby-Shops-End-User-Android...


I struggle to understand: who will deliver the groceries?


THe delivery of the groceries will be done in two ways

1. It can be done by the shop-owner 2. It can be done by the Market Owner - through employed delivery people

The shop-owner app contains delivery dashboard and orders inventory where you can track orders with their status like when the order is packed and ready for delivery and such !

Feel free to ask if you have any more questions !


Can we add delivery person and their live location? Can it notify the nearest delivery person?


yes you can add delivery person and there is a special dashboard for delivery person ... live location tracking will be SURELY available in future releases !


Hi hope this will be called Open Sauce.


I wanted to contribute in the backend project ...but when I opened the project..the basic coding standards are missing..i know this is open source and can be fixed but all over the files i see commentated code the logging is out of place... I work in a Big European bank so maybe i was hoping for a more matured code but this code needs a fresh look...

Appreciate your efforts and thus some pointers to start: 1. Add liquibase into your project. 2. Add logging into a project. 3. Use Spring Boot if possible 4. Use an ORM framework like JOOQ may be?

Have a look at Jhipster, they are pretty good with their bootstrap projects.


yes ... you are correct .. the code on the backend side ... and also for Admin-app - needs refactoring ... i was planning that ... its just the matter of when i find some time !

I wont recommend anyone to contribute (for backend and admin app) until the refactoring is done !

I had been searching for some good project - Example for backend code ... but i was not really able to find one for Java ... for building REST API !

It was quite a struggle to work ... due to lack of proper tutorials and lack of good example projects ... for backend ...

But anyway ... your suggestions are very useful ... using Spring Boot would definitely improve the project ...

And i will also study about the liquibase and logging ...

I was avoiding ORMs but JOOQ seems like a reasonable option !

It is quite useful when experienced developers like you take your time to review and suggest improvements ...


have a look at https://jhipster.tech you can generate a working example code instantly and get started


yes ... i checked out ... i wonder why it took me so much time to find that out ! ...

It would be great if you could keep in touch and post some issues on the Project Repository where you can Guide upon how can we improve the Code ! And what is the best tech-stack we should be using on the Backend side !


I was also thinking of migrating the backend to GraphQL ... But then it doesnt have an option to store images and auth still requires another server ...

Hasura GraphQl seemed like a good option ... because they also used PostgreSQL ...

What are your thoughts about migrating to graphql ...




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: