Scrappy - make little apps for you and your friends

8organicbits | 333 points

I like the spirit of it, but the execution isn't what I'm looking for. With this being a hosted solution, it makes me dependent on another SaaS tool for little personal projects. If it's a little counter needed for an afternoon, that's not such a big deal. However, if I'm looking for a scrappy little app I may use for years, this is a problem. Plus, no matter how low the learning curve gets, it will still exist, so I want something that I can use for the long term for things like this. This makes my mind go to approachable and easy languages that allow the user to easily throw a GUI on it. I don't think code needs to be completely abstracted away, just made easy and tailored to what people will do. Look at how many people on MySpace were able to learn some CSS. Maybe they copy and paste someone else's stuff at first, but that's the foot in the door before they eventually look at how to tweak it.

I typically end up using basic HTML/CSS/JS for stuff like this today. If I really need backend code, I'll use basic PHP (no frameworks or anything). But this ties me to a browser, which I'm not always a fan of. Some of these fairly scrappy little projects at work (done in the browser like this, and with AutoHotKey) have been going for 10+ years now, with very little maintenance. The AHK script I haven't touched in probably 8 years, since I moved to macOS at work, yet people still use it countless times per day. If AHK decides to stop operating, it's no big deal, the code that exists will still run. The same can't be said for these SaaS solution to this problem. People looking for scrappy solutions aren't looking to remake their solution every time a founder decides to move on to something else more interesting or profitable.

al_borland | 5 hours ago

CardStock[0] isn’t mentioned in this article, but seems broadly similar in goals and approach to Scrappy. Unlike Scrappy (so far as I can tell) CardStock is open-source and can be run locally.[1]

Decker[2] (which is also open-source) has answers to several of the things outlined on Scrappy’s roadmap, including facilities for representing and manipulating tabular data with its query language and grid widgets and the ability for users to abstract collections of parts into reusable "Contraptions".

[0] https://cardstock.run

[1] https://github.com/benjie-git/CardStock

[2] http://beyondloom.com/decker/index.html

RodgerTheGreat | 10 hours ago

It looks like getting the apps built with this to work well on mobile is in the roadmap, but not mobile editing itself:

"A hand-sized touchscreen is too small for editing Scrapps comfortably"

I would encourage them not to underestimate the tenacity of mobile phone users!

For a lot of people these days their mobile phone is their only digital computing device. People write code on mobile phones. People write entire novels.

I think this tool's impact could be greatly increased by taking the time to figure out a mobile editing interface, even one that feels less comfortable than the desktop experience.

simonw | 3 hours ago

Nice, I am in the process of building one with a similar concept but in a single HTML/JS file. Sharing with friends and multi-user. Might release it in a week or two as I am getting closer to put final finishing touches. Not sure if I have to go open source or closed and Freemium. Might ask HN later :)

p2hari | 17 minutes ago

One of the best things that I did was spending a week making a simple app that can put all my Apple Watch walks on a single big map, then sharing it with my friends after it got published on AppStore. It's been a year since I worked on it, but I still get messages from my friends (and some random people who found it!) how they've walked through an entire city or something. Really rewarding experience, despite having zero financial gains from it.

OP is right, making simple apps for your friends for fun!

tokioyoyo | 9 hours ago

I think "vibe coding" will not replace developers in the short term, but it will be the strongest competition for such simple systems. I asked a few LLMs to make apps like these (plain HTML with embedded JS), and they got it right after a few edits. They are also visually more appealing [1].

[1] https://claude.ai/public/artifacts/bb451732-9559-401a-8000-b...

selcuka | 9 hours ago

It's nice but I've yet to see a more usable end-user programming environment than the spreadsheet.

nilirl | 9 hours ago

So you drag UI elements onto an empty sheet, fight with the grid snap (because it doesn't match the size of your UI elements) and are then supposed to enter raw JavaScript, without any code completion, visual programming, API help or AI support? And that's it?

indyjo | 7 hours ago

"We believe computers should work for people, and dream of a future where computing, like cooking or word processing, is available to everyone."

generic...

"with live updating — all for free. LLMs ar..." also see a fair few of these long dashes (18x) which is either a tell tail of you've used ChatGPT to generate the text or you've started writing like the AI.

I havn't thought about it that hard yet but i don't really like consuming AI generated content at all as soon as i see signs of it part of my brain turns off. And no slight to the creator, I have as much interest in writing this kind of copy as any developer would i'd imagine.

blips | 7 hours ago

An alternative to Scrappy is the free CodeBoot web app (https://codeboot.org), which allows you to create web apps in Python that are fully encapsulated in a URL. No installation is required—neither for the developer nor the user. Below is an example of a math practice app with simple user interaction through dialogs. To create a web app URL, right-click the "play" button and choose the type of link you want to generate.

https://app.codeboot.org/5.3.1/?init=.fbWF0aF9wcmFjdGljZS5we...

For more complex UIs, CodeBoot provides an FFI for accessing the DOM directly from Python code. For example here is a dice throwing app with a button to roll the dice again. The text in the button has translations to multiple languages and will adjust to the browser's default.

https://app.codeboot.org/5.3.1/?init=.fZGljZS5weQ==~XQAAgADq...

feeley | 6 hours ago

I used to use MSHTA with success even though not cross platform - that would be the killer feature

knowitnone | 32 minutes ago

I think it's a great demo, it is interesting how harsh the feedback is that you are getting. You are probably just too late to the party.

I also work in this space and the road ahead gets exponentially harder, unfortunately.

zupa-hu | 4 hours ago

I am 100% behind the idea of "scriptable components" vs block-based programming for beginners.

I'm on mobile now but I'll try this on desktop ASAP.

But I think one thing missing on the analysis is: people want ease of share and zero cost.

It's surprisingly simple to build a minimal app in some environments but then you get to distribution (app store are a huge gatekeeper) and/or hosting and e.g. my wife or kids won't be bothered to pay 5$/momth for it (and neither will many professional devs).

riffraff | 10 hours ago

This reminds me a lot of Visual Basic! Same simple principles and quite similar UI.

kakamiokatsu | 3 hours ago

You can make an awful lot of useful little tools with an LLM, vanilla JavaScript, GitHub Pages, and the user's own localStorage as a semi-persistence layer. Two 9s and cross-platform to boot.

Recently I made a diet checklist [1] that I've been following more or less to the letter 5 days out of the week. I have a little Android button that just opens right up to the web page. I click, click, click, then move on with my day. If I feel I need to change something I can copy a plain text screenshot of what's on there currently and chat with Gemini about it.

I'm really liking this new wave of technology.

[1]: https://hiandrewquinn.github.io/diet-checklist/

hiAndrewQuinn | 7 hours ago

Godot 3 and 4 are very good for bashing out apps for both desktop and Android phone.

failrate | 3 hours ago

> You drag objects out on the canvas — a button, a textfield, a few labels. Select an object, and you can modify its attribute in an inspector panel. Certain objects, like buttons, has attributes like “when clicked” that contain javascript code.

Swap JavaScript with VBA and this is the MS Access workflow.

I'd only start using this if it became ooensource though, can find anything to suggest it is.

account-5 | 8 hours ago

Google Studio IO apps seems like a step in the same direction. Now if only we could host it on github and take advantage of static github pages.

In the future, optimised open models will enable more people to develop tools locally, and with an open source AIDE (does this term exist yet? Artificial Intelligence Development Environment) publish / share it in different ways.

lastdong | 9 hours ago

Cool but no link for the source code negates entire point of sharing apps.

s_ting765 | 9 hours ago

Although I like the idea in principal, I don't see the real use case here.

Most of the examples can easily be replaced by pen and paper which is faster than building a app. More complex use cases require more complex solutions which I'm not sure this provides.

One use case could have been an application to study functions in time and frequency space. But does it provide an fft?

funnym0nk3y | 5 hours ago

I feel we are coming at this as programmers, and the opportunity is the community aspect. What about starting with the family run app stores? Masterson style. No security (you're all friends right) and no way to contribute without an invite. Just a thought.

Peteragain | 8 hours ago

> All Scrappy apps are multiplayer, like a Google Doc is. You can even edit them while they are being used by someone else!

ok where is the scrappy backend? what data do you see? where do i make an account? i wish that this was more transparent/discussed since obviously this software is not entirely local?

> LLMs are getting better and better, and while they are far from able to make a full-fledged app without a lot of help from a software engineer, they can make small apps pretty reliably.

mildly disagree. llm generated apps tend to look better + i dont have to learn or stick to your preset primitives. even nontechnical people run into this pretty quickly

otherwise, nice labor of love. good going OP.

swyx | 8 hours ago

The core vision here is something I can absolutely get on board with, but the execution fundamentally seems to misunderstand why "home-cooked software" doesn't exist.

The target audience problem is immediately apparent: they're building a product for people who can write JavaScript event handlers but somehow can't 'npx create-react-app'. This demographic is approximately twenty-seven people.

More critically, they've confused the problem space, in my opinion. The barrier to personal software isn't the lack of drag-and-drop of JavaScript environments. It's that software, unlike a meal or a home-made sweater, comes with an implicit support contract that lasts forever. When I cook dinner for friends, I'm not on the hook when they're hungry again next Tuesday. When my grandma knits a home-made sweater, she's not expected to keep supporting it in case I want to add a hood.

When the attendance counter has a race condition and the venue goes over capacity, guess who's getting the angry call when the fire marshal shows up for an inspection?

The "redistributing the means of software production" rhetoric rings particularly hollow from what appears to be a proprietary SaaS in the making. You don't democratize software by creating another walled garden. And their claim about "owning your data" while simultaneously offering real-time sync is either technically naive or deliberately misleading. How is the attendee counter example's counter state shared between users, if the data lives in local storage? I don't see how you can have both without server infrastructure that they control.

The actual nearest thing to their vision already exists and has millions of users: Spreadsheets. Non-technical people build complex, business-critical "applications" in spreadsheets every day. No JS required, local-first, and everyone already knows how to use it. But "we made a worse Excel" doesn't sound as revolutionary, I suppose.

The real unsolved problem isn't making it easier to create small apps - I build small tools for myself all the time. It's making them sustainable without creating permanent maintenance burdens. And that is not something you can solve with a new framework or SaaS - it's at it's core, a social issue.

sReinwald | 6 hours ago

I'd love if this turns into a social platform for apps. Facebook has text, Instagram has images, TikTok has video... Scrappy has apps. Apps. Not code.

View your friend's apps, use your friend's apps, remix your friend's apps to suit your needs.

But it needs to be all-in on speech. End-to-end abstracts away the concept of code. Speech-to-App.

QuantumWanderer | 3 hours ago

I love the concept. I think the trick to being successful with a project like this is cracking the user experience in a way that makes it powerful enough to be truly useful, while keeping it simple enough that a child can build (scr)apps (c.f. Super Mario Maker).

Making it possible to lookup and store data in a spreadsheet (maybe using something like the Google Sheets API) could unlock a huge amount of use cases.

I'll be watching this project with interest!

jackgavigan | 9 hours ago

Swap JavaScript with VBA and this is the MS Access workflow.

mrafii | 2 hours ago

Oh haha, I simply program little apps for my friends to solve their problems. I thought this would be about that

mettamage | 4 hours ago

Where does the data go?

ceving | 8 hours ago

So, just like Delphi?

(I wonder if somebody ported Delphi / Lazarus to WASM)

atemerev | 9 hours ago

Just trying this out and it appears in Firefox, the drag & drop handle on new elements doesn't cover the whole rectangle, just the label.

filcuk | 8 hours ago

I like the idea! Now you're just left with the dilemma of what happens when you reach many people with it - will Scrappy be made for thousands of users, polished and flashy?

croniev | 10 hours ago

I guess this fits into the Google Forms, SharePoint space?

jayd16 | 9 hours ago

I would if Apple didn’t put such tight restrictions against hobby app creation

bowsamic | 10 hours ago

We're just gonna keep re-inventing HyperCard.

etchalon | 2 hours ago

Hypercard vibes

_joel | 5 hours ago

Very nice. For me, LLM fills that niche when I need to build something very small. Just built a dumb tiny flashcard webapp (literally a standalone index.html) because I was tired of apps either being either overly complex for my simple use case, or asking me to register/pay/see ads.

EZ-E | 9 hours ago
[deleted]
| 3 hours ago

Ok do this apps run on IOS?

Surac | 8 hours ago

A very good idea.

DustinEgg | 7 hours ago

I don't have friends so this has no use for me

carabiner | 9 hours ago

1. Start up the app 2. Try dragging a block 3. Doesn't work

_nice_

starvar | 8 hours ago

This is just crying out for AI to help you get started.

jwblackwell | 8 hours ago

good

Michael128 | 2 hours ago

I love this.

richarlidad | 10 hours ago

I agree with the title, but not with the article. I expected to see something like how you can make your friends and family lives easier using your skills as a software developer.

From time to time I come up with micro-projects that solve very particular issues my friends are facing. Ones that are not easily solved with existing apps on the market. When I see my friends use them, it brings me joy!

But! For this I had to use traditional software development tools I was already familiar with - IDE, source control, etc. Scrappy or similar tools would not help me at all. The tool is targeting someone like my non-developer friends, but I doubt they could come up with a design for a solution, implement it in scrappy and then maintain it when something changes in the outside world.

On a separate node, I had great success with spreadsheets as both Frontend and sometimes Backend in various personal projects. And I'm not the only one, my friend made an addon for Google Sheets that pulls data from my specific bank's API - I use it to track my expenses. That's the kind of stuff I wanted to see in the article.

demaga | 8 hours ago

[dead]

theuserme | 4 hours ago

[dead]

curtisszmania | 3 hours ago