14
19 Comments

Sipp - A Web Framework for Indie Hackers

I'm working on a new web framework for Indie Hackers.

More specifically, I'm looking to build a high-productivity framework for small teams.

I've seen a big hole in the JavaScript ecosystem for a framework that is both simple and high-productivity. On my last solo-developer project, my productivity really started to slow down after I had a modest amount of features because the cost of maintenance was so high. (I write extensively about motivation, context, approach here.)

You can take a look here https://sipp.dev/ and sign up for an early-access list.

And, I'd love to hear your thoughts—what should definitely be included? any pitfalls to watch out for?

Cheers,

on November 16, 2020
  1. 1

    Sipp is a MVC, server-rendered TypeScript framework that makes sane default choices so you can build quickly and maintain for long-term

    This sounds exciting! Signed up.

    Curious - what made you chose Mocha over Jest? (Seems like the community favors Jest over Mocha, and Mocha is on the decline, source). And also, why not include Cypress?

    1. 2

      Hey @jsjoeio, thanks for signing up! 😀

      I'm still considering how tightly to integrate Mocha vs Jest. Likely, it will probably be something where you could easily swap test-runners.

      Here's why I prefer Mocha at this point:

      • Jest is slower at scale (>1000 tests), this is largely because Jest does a lot of mocking and setting up a sandbox for each test suite
      • Jest disallows global objects (even when doing --runInBand). The reasons for this is the sandbox stuff plus parallelization/worker strategy. If your tests have some heavy, stateless objects that are nice to setup once and use everywhere ... you can't do this in Jest. I've had heavy memory leaks that are impossible to debug/fix because of this in complex apps.
      • Jest does some silly things like if before throws an exception, it still runs all the tests.

      Cypress and Mocha/Jest could co-exist where Cypress is used for end-to-end and Mocha or Jest for unit tests. But, since Cypress uses Mocha under the hood, I would probably pick Mocha as the default so it's all the same.

      1. 1

        Thanks for the detailed response! All those sound like valid points to me, they’re just not things I’ve run into over the years of using Jest but happy to hear it could be swappable.

        Yeah, good point about Cypress! That’s how I usually set it up too - Cypress for e2e and Jest for unit.

    2. 1

      @jsjoeio, I see you in the list but looks like you didn't get the double opt-in... might be in spam?

      1. 1

        Ah! Yes, it was. Just confirmed!

        1. 1

          Sweet! you're in!

  2. 1

    I’ve talked with friends before about something that makes fullstack development as easy as React made the frontend. I think what I’m not totally clear on with Sipp is if it’s a hosting service as well. If it’s just a framework, I’d find it a much harder sell to get me to pay for it. Think NextJS the framework vs Vercel the platform.

    1. 2

      @polluterofminds, ok, I clarified that the waitlist is just early access/updates/influence over tech choices and not for a paid product.

    2. 2

      @polluterofminds, thanks for checking it out!

      It's going to be an open source framework, so it won't be paid. The waitlist is just for early access before it's publicly available. (I believe that there are ways to monetize open source, but charging for a for a framework like this isn't something I think I could pull off.) Remix is trying to monetize with licenses—but the authors have a huge audience and built a good reputation in the React community, so they might have a shot.

      I'll clarify that on the page.

  3. 2

    This comment was deleted 6 years ago

    1. 1

      @yonajune, reading some old stuff from 2016 from the Next team. This GitHub issues thread has this from Guillermo Rauch:

      The biggest feature of Next.js is that it's not a backend. It's closer to what @getify calls a middle-end. A universal rendering frontend.

      Based on everything I know about Next@10 today, this is still true. Next.js solves the server-rendered SPA pain point really well and is a category leader; it's not framework like Rails or Laravel. You've still got to roll your own data tier.

      1. 1

        As someone who has extensive backend experience in Node and is also a Next.js user, If I was to build a monolith app I'd reach for Next.js with a db layer used in their sreverside props implementation and pass that data off to the client.

        1. 1

          Thanks for weighing in @joshmanders!

          Can you say more? Why is next.js the right choice? What would your db layer be?

          1. 1

            Next has everything needed for most apps outside of the db layer. Want a REST API? use the pages/api convention, otherwise use serverside props for fetching data from db and returning to the page component.

            DB layer, undecided I'm pretty unhappy about the ORM options in node land. https://twitter.com/joshmanders/status/1327686096872988672

            1. 1

              Cool, thanks. I'd like to give Next a deeper look soon and try to build something with it.

              Btw, I read that thread on Twitter with all of the options folks recommended. I didn't see Objection come up... it's built on Knex for the query builder and inspired Laravel's eloquent. Maybe you've already seen but worth considering alongside the others.

              1. 1

                I ultimately decided against Objection because I don't like the relationship definition way, I'd rather do it like Eloquent/Bookshelf way.

                1. 1

                  Got it. I need to take a closer look at Bookshelf...

                  1. 1

                    Bookshelf is pretty solid, I just don't like that it's not modern ES2015+ yet. TypeScript would be better.

      2. 1

        This comment was deleted 6 years ago

    2. 1

      Thanks so much for reading @yonajune!

      Agree, I definitely don't want to directly compete with Next.js (or really, a number of other great projects out there). I'm thinking about sipp as something categorically different—so if it sounds like a head-to-head competition, I'd definitely want to reframe.

      It does seem like stuff like Remix and Redwood are more going head-to-head with next. (Blitz wraps Next, I think.) Next's sweet-spot seems to be somewhere between SSG and a completely dynamic, entirely user-generated content.

      Based on your experience, would you build a full-stack app on Next.js?

      1. 1

        This comment was deleted 6 years ago

        1. 1

          Nice! That's a good article. I think I read it a couple of years back.

          I agree with that approach :) My thinking behind Sipp is integrating boring mostly boring, stable technology so you can build quickly. I consider most of the stuff that falls under the modern web (edge computing + serverless functions, SSR a SPA, etc) to not be boring at this point.

          @yonajune, I'd love to keep to keep getting your input; would you consider dropping in the email list for sipp?