X Stats

Login Sign Up
@tonyennis

Tony Ennis

@tonyennis

4,360 Tweets
2,743 Following
2,723 Followers

Building software teams & mobile apps Prev: Built a bank in Asia YC S21

Filtered by topic: Tech Philosophy & Takes ✕ Clear filter
Date ↓ Tweet ❤️ 🔄 💬 👁 📝
Jul 10 @maccaw @homsiT Nicely received by Tristan, not a great look for you guys imo. The inspired by/ ripped off line can be blurry, but if those screenshots are representative you definitely stepped over it - feels incongruent with reflect brand (great design). Just my 2c 2 0 0 0 267 .
Jul 10 @jamescodez @stackblitz @LangChainAI @supabase @OpenAI @vercel @swyx @shadcn I built this for rails a while back but found the response times to be too unpredictable/slow (avg 30 seconds +). Has that changed? Congrats btw! Looks great! 1 0 0 0 236 .
Jul 04 @ArcMembership Ah! That makes sense, will try. Thanks! 0 0 0 0 54 .
Jul 04 @ArcMembership I use it specifically to silence messaging app tabs, which are an unwanted distraction when I’m trying to focus. So that change broke it for me 😞. Are you saying it’s not possible to prevent a tab from making noise indefinitely? 0 0 0 0 243 .
Jul 04 @arcinternet what happened to "Mute Tab" on the latest release? Was it removed? 0 0 0 0 79 .
Jun 29 @dhh I can’t remember if you said designers are in the actual codebase or working with static files? If the former, how do you handle environment setup etc considering they’re less technical? In either case you should consider a live-staging-VM with VScode’s remote server, adds… 3 0 0 0 279 .
Jun 27 @elliotdickison @htmx_org On the largest team you've been part of... What was the total monthly spend on engineering headcount? Would you consider the ROI on that spend good, considering the output? Was hiring and onboarding devs considered a huge headache or solved problem? Was reorganising teams to… 0 0 0 0 303 .
Jun 27 @scottcorgan @remix_run You're not wrong on that argument. You then reach the next argument - do the benefits of this approach justify the additional complexity of needing to (reasonably) deeply understand js as the primary language (vs plain html), the npm/npx ecosystem etc. https://t.co/aKxM3RUuID 2 0 0 0 300 .
Jun 27 @elliotdickison @htmx_org I have a tweet for that 👇 Imagine on-boarding someone with ~3 months of total learning experience - how much time do they spend learning the tools vs the much simpler task of creating some html. https://t.co/2DcoghgytY 0 0 0 0 246 .
Jun 26 Great single slide overview of the actual “tradeoff” that many teams make and how ridiculous it is, particularly when compared to “add a single line of code to your page (@htmx_org) which gives it the missing capability”. https://t.co/XHzDvbzdKk 57 10 1 6.3k 245 .
Jun 21 Reporting back on this - we hired 2 bootcamp grads 6 months ago who are now building full client projects on their own with this stack. And just finished an exercise with two more bootcamp grads (with zero rails experience !) who had a dashboard w/ live search built in a day 🤯 7 1 2 994 277 .
Jun 20 Another infuriating example of how to make your customers resent you - charge a 120% premium to skip the 30 - 60 mins wait at the luggage belt (i.e. to let people have a small carry on). Seems like a new thing this year? Culprit here is @vueling https://t.co/NF17sT6758 0 0 0 201 270 .
Jun 16 @JoshWComeau Yes! @iwantmyname are excellent - No fluff, super quick & easy to use, great support. 3 0 0 0 102 .
Jun 09 Realising that "Planning & Execution" is in many cases better language than "Product and Engineering" to describe the two streams within technology teams and orgs, and better reflects what actually happens. 4 1 0 304 210 .
May 26 @dpaola2 @Replit @bitdotioinc No docs needed - you sign in and create a database, and they give you a host, username, password for your db which you paste into database.yml. It’s postgres so don’t need to forego using pg no 1 0 0 0 223 .
May 26 @dpaola2 @Replit Ah! that’s the one thing I skipped - just used @bitdotioinc free tier and plugged database creds in database.yml I can’t remember exactly but I *think* they may have strategically disabled pg in nix because they make money from db add on 0 0 0 0 256 .
May 26 @dpaola2 @Replit 👋 yup! Just set another codebase up last week. You running into issues? 0 0 0 0 88 .
May 25 If you have a Product Hunt account, please go upvote @ConjureSo and try it out. It's an insanely comprehensive behaviour modification tool that has 10x the capabilities of anything else in the space, not a rough MVP you'd normally see on PH. @Whelton has done an incredible job 8 1 3 982 277 .
May 19 Been diving back into Platform-As-A-Service products for a client recently. You wouldn’t think it from Twitter but @heroku still the best all-round offering IMO. Using it for over a dozen apps, haven’t had any issues, and as of this week, haven’t found anything better out there. 1 0 1 379 279 .
May 19 Wasn’t expecting this from the react ecosystem. It’s cool that hooks help, but ultimately you’re still trapped inside react/npm/pre/post processors etc What if I told you you could insert dumb-tailwind, hyperscript and htmx in your head, and get copy-paste-ability in raw html. 14 3 0 2.7k 278 .
May 14 Got plugin access this weekend and built a multiplayer game that runs inside ChatGPT (the first ChatGPT game?) Check it out 👇 https://t.co/g0JEkKTve3 4 0 0 574 150 .
May 09 @shrutibalasa The repo readme explains how to customise it, but using it is as simple as just adding a snippet in the page head. Two additional resources which may also be helpful: Flexbix Froggy, for learning flex box, which is the trickiest CSS concept to wrap head around:… https://t.co/E44VN2B6Ba 0 0 0 0 302 .
May 08 I feel a similar level of affinity to @htmx_org as I did/do to @rails, not just because I love the patterns and simplicity it enables, but also the philosophy (locality of behaviour etc) . So seeing influential devs like Michael check it out puts a silly grin on my face. 13 2 1 3.7k 272 .
May 05 @philipyoungg First stick @linuxnetdata free agent on it and get emails when it starts to encounter issues (takes 2 minutes), then when you get an alert ssh in and use ps aux or similar to see what’s likely causing issue. Should get you started 4 0 0 0 244 .
May 04 @benzado @htmx_org It’s always contextual, but yeah the 3 or 4 apps we’ve been working on recently - at no point did we have to do anything hacky to avoid the asset pipeline. Still feels super normal, still enjoying working this way 2 0 0 0 232 .
May 04 Noticed that I basically never install native apps any more. Just cleaned out my Applications folder and there are only 2 buckets left: 1. OS extensions/utilities (window manager, screenshot tool, search etc, and 2. Browsers. Wondering if I'm outlier or if it's same for others? 0 0 1 452 279 .
May 03 Highest impact personal productivity hack I’ve done: me and a friend divide the year into sprints and do weekly accountability calls which cover both personal (health, finances) and business goals. Such a good way to get important things out of your head and commit to action. 4 0 0 283 276 .
Apr 23 I dislike calling this stuff out because I’m super excited by what’s happening with AI & don’t want to be negative. Just noticing many of the same patterns we saw with web3/crypto stuff - inflated claims, inflated expectations, inflated disappointment 1 0 1 202 255 .
Apr 23 I’ve noticed a phenomenon where Twitter growth-hounds get carried away with periods of accelerated tech advances and compete to find the next big thing, overplaying new tools and making silly extrapolations, similar to news stations competing to break the big news first. 0 0 0 258 272 .
Apr 22 This weeks mania: - A friend is replacing a THIRD of his team with ChatGPT agents??? - ChatGPT plug-ins were apparently rendered impotent by AutoGPT already? Who knew - Round sizes will need to come down because the teams will all be “3 guys and a bunch of agents” Unhinged… 2 0 0 663 275 .
Apr 21 @stevekrouse @coqui_ai I haven’t checked yet, have only played around with it 1 0 0 0 77 .
Apr 21 @stevekrouse Tried @coqui_ai? 2 0 0 0 29 .
Apr 21 Just found @ply_io - a product I've been wanting to see for ages! Surprised it's taken this long for someone to build it, looks like they nailed the implementation. My hunch is that this pattern (injecting action buttons and widgets into existing products) will find its way into other products too, zapier being the obvious one. https://t.co/7jyIG7zLGG 2 0 0 307 355 .
Apr 21 @NoCodeJac @postmarkapp 1 0 0 0 23 .
Apr 21 @ctjlewis Are you serving the gpt-3/4 responses as-is, or are you doing anything to improve their quality before showing them in chat? My experience is 60%+ of code snippets returned by chatGPT don’t work out of the box. Solving that would be major 7 0 0 0 248 .
Apr 16 Really enjoying both @AcquiredFM and @FoundersPodcast recently, difficult to listen to them and not want to do something great with your life. 19 0 3 3k 143 .
Apr 12 https://t.co/YK8XSux3Ml 0 0 0 225 23 .
Apr 08 McKay’s claim here is that the impact of AI on software dev will continue to grow exponentially along with the underlying intelligence APIs. I think that’s incorrect, because I don’t think access to intelligence is the “final boss” in increasing speed and output when building software. 0 0 1 527 286 .
Mar 31 @amasad when will Ghostwriter be able to write directly to my codebase? https://t.co/KQvX4EiW9d 2 0 0 0 95 .
Mar 28 @nico_jeannen @render What’s wrong with Heroku Eco app pricing out of interest? 0 0 0 0 79 .
Mar 28 This is quite big from someone as influential and thoughtful as @Rich_Harris Really hope this is a little nudge for people to actually consider whether they need a build step/typescript versus the current dogmatic "this is how it should be" attitude. https://t.co/tD7jOVE5yO 0 0 0 509 278 .
Mar 22 @Shpigford Next step: Port to react-native and use expo to ship over the air to iOS and Android 1 0 0 0 95 .
Mar 22 There was a long period where the difference between assembly-line-style teams (left diagram) and design-process-style teams (right diagram), in terms of output, quality, and return on investment wasn't large enough to be noticeable. My hunch is that the new generation of AI-tool-assisted lean teams (one or two programmers, minimal specialization) is going to make that gap much much larger, potentially too large to justify the cost structure of the team on the left. 1 0 1 696 470 .
Mar 22 Wonder will this become more common now that ChatGPT can generate full copy-pasteable apps https://t.co/oH2YyOmqmF 1 0 1 383 115 .
Mar 20 @danielpaulme @htmx_org & hyperscript. Not because they give you lots of new stuff, but because they substantially reduce the amount of other stuff you need by adding a few small enhancements to html. Oh and this 👇 https://t.co/iMz47VcJI1 2 0 0 0 244 .
Mar 17 Cc @dannypostmaa We built this late November, stopped because we couldn't control the results well enough, was just saying to friends when ControlNet launched that we should try it again. FYI if you see it and think we're copycatting 😊 0 0 0 182 237 .
Mar 17 TFW you built an almost-identical product as a popular indie hacker, complete with the same name, but 3 months earlier, and now it looks like you're trying to copy them 😂 https://t.co/zfJCBftKEf 3 0 2 788 194 .
Mar 17 TFW you built an almost-identical product as a popular indie hacker, complete with the same name, and now it looks like you're trying to copy them 😂 https://t.co/R8Zc1foTYQ 0 0 0 0 172 .
Mar 16 @bentossell I had a quick look through the archives but can't find a lot . Who else (apart from adept) is building general purpose AI browser bots? 0 0 0 0 147 .
Mar 15 Big fan of @intercom and the team in there but I think pinning your brand on customer support that doesn’t require humans is the wrong direction and forgets that’s the most important person in the CS equation is the customer 4 0 3 2.7k 224 .
Mar 13 @ryanckulp Not exactly a swag API as much as merch, but ScalablePress is very good, have used it before 0 0 0 0 103 .
Mar 13 Just published dumb-tailwind to Github. An easy way to use Tailwind directly from a <link rel="stylesheet"> in the head of a static html file, no compilation/npm/javascript needed. https://t.co/XQFOOkIENE 1 0 0 209 211 .
Mar 13 Just published dumb-tailwind to Github. An easy way to use Tailwind directly from a <link rel="stylesheet"> in the head of a static html file, no compilation/npm/javascript needed. https://t.co/d73CZDKqYS 0 0 0 0 210 .
Mar 11 @pwang_szn Yup! Bonus points if you can build it for @roam_js 😁 https://t.co/FVdWNDtnoT 2 0 0 0 87 .
Mar 08 @thatbenmiller @Replit @Codeanywhere Aparently @Codeanywhere now doesn’t need to be run in the browser any more. Another concern with them (or anyone hosted) was cost control - if I remember correctly they charged per team member and the bill went up quite quickly 0 0 0 0 264 .
Mar 08 @thatbenmiller @Replit @Codeanywhere Both are great, and I’m a big fan @Replit. When we did the experiment, both were browser based (which *feels* slower and less responsive than native vscode), and replit isn’t based on vscode and is much less powerful so devs who’ve spent years in vscode don’t want to downgrade 0 0 0 0 314 .
Mar 07 @Shpigford Code in the cloud? I have a digital ocean droplet that runs 4 rails app, always on. https://t.co/miKrYmqv0U 1 0 0 0 118 .
Mar 07 @coderberry This was all Rails - works just as well. When it comes to group vs individual, it works even better - I do all my personal coding on a "playground" server that hosts 4 Live rails apps. Happy to share the script, will DM 1 0 0 0 231 .
Mar 07 @coderberry Boy do I have a thread for you 😁 https://t.co/SzGDkFZMp2 1 0 0 0 69 .
Mar 07 @levelsio The @AcquiredFM pod on this is great if you haven't seen https://t.co/n0nJQ0Ed9x 1 0 0 0 91 .
Mar 06 Built myself a little app to track my finances over Christmas. Decided over the weekend to make it look nice and let some friends use it. https://t.co/NWUtzEb5mm 14 0 1 1k 161 .
Mar 02 There was a time when javascript was optional for building interfaces 😔 https://t.co/8cicxFChYB 1 0 0 162 96 .
Feb 28 It's sad that the phrase "Are they a good frontend dev" now approximates closer to "Can they work with react, npm, typescript and the rest of the ecosystem" than "Can they build a wide variety of common patterns in a team-friendly way using html & CSS" 1 0 1 359 256 .
Feb 23 @chacon @SendGrid @postmarkapp Might be misinterpreting but think this is possible with Postmark? https://t.co/tS4bku40TS 0 0 0 0 121 .
Feb 23 @chacon @SendGrid @postmarkapp is where it’s at! Much much better, designed for self serve 1 0 0 0 90 .
Feb 21 @th1agofm Yeah Metabase just connects directly to the database, so doesn't have knowledge of the business logic. It's a good point though. In my previous company the data team built a bunch of materialized SQL views to handle this, which were also surface in metabase. 2 0 0 0 269 .
Feb 20 Within weeks they were contributing meaningful, sizeable features, regularly. They were able to focus on how to build and populate interfaces *first*, not how to manage dependencies & sync data, which came later. This is (in my opinion) how it should be. https://t.co/DRtfFMlwYu 0 0 0 0 283 .
Feb 20 Junior-Friendliness We recently onboarded 2 awesome bootcamp grads. There was some understandable apprehension at first to working like this, and a fear that they might unintentionally break things, but once they settled in, mentored by their senior teammate... 0 0 0 0 262 .
Feb 20 - PMs asking "is that on staging yet" - Dev 1 blocked because they're waiting on push from Dev 2 - Devs fixing deployment/buildpack related issues after adding new packages ...and many more I can't recall 1 0 0 0 205 .
Feb 20 Things that got much easier: - Real-time API/Webhook testing - Real-device mobile testing (open the url on your phone) Things that either decreased or disappeared: - Merge conflicts - Data discrepancies slowing debugging (the "it works for me" issue). 0 0 0 0 252 .
Feb 20 Output Quality Difficult to measure, but unmistakeable. The upshot of making it easier to work as a group around a single piece of "output", was a marked reduction in bugs (often flagged by the PM), and a clear improvement in the "finish" (UX/interactions) of the product. 0 0 0 0 273 .
Feb 20 Another impact was the likelihood of developers to solicit feedback mid-build. We try to avoid over-speccing (prescribing every tiny detail of a feature up front), so this meant developers could use their own judgement *and* get feedback from their PM, super quick. 0 0 1 171 265 .
Feb 20 This newly-enabled fix-it-immediately approach shifted the expectations around what's considered a normal amount of time to spend/waste on blockers like this. Nowadays, it's very rare that anyone, junior or not, spends more than a few mins stuck on environment or data issues. 1 0 1 166 276 .
Feb 20 Iteration Speed The merge/deploy steps are so ingrained in our current practices, we don't notice how much they slow us down. When software is always-on, time-spent-waiting for deploys and teammates goes to zero, substantially increasing flow and output. https://t.co/azJBuFVvTB 0 0 0 0 280 .
Feb 20 Collisions As we had guessed, the biggest drawback was developers getting in each other's way, and/or getting slowed down by something someone else is working on. I looked at ways to solve this with technology, but in the end it came down to communication/buy-in of the team. 1 0 0 0 276 .
Feb 20 Collisions (cont) Our teams are made up of one junior and one mid/senior who work regularly with each other, mostly on the same timezone, have good rapport already, and were open to experimenting. I'm not sure if you changed some of these variables it would still work. 1 0 0 0 270 .
Feb 20 This damaged confidence a little bit. But we marched on. The ultimate solution was a combination of 1. Installing @linuxnetdata to keep an eye on/fix what was spiking cpu/ram usage, 2. Tweaking rails & system config, and 3. Ultimately ensuring the server had enough resources. https://t.co/7DYIeQWiDj 2 1 0 0 305 .
Feb 20 Performance & Debugging This was trickier to figure out. Rails can be very resource intensive, especially when you disable the caching and pre-compilation typical in a live environment 😅. For the first week or two, the server would often become slow or non-responsive. 1 0 0 0 273 .
Feb 20 Learning Curve The new setup required different commands for things like tailing logs, restarting the server, and running background jobs. Overall I was surprised by how minor this ended up being. We did a walkthrough call, created a cheat sheet, and the team was on their way. 0 0 0 0 279 .
Feb 20 I remember the first time we got this working - making an update in @code, opening chrome, hitting reload, and seeing changes reflect in real time - it felt like magic. Now it feels normal. But it makes working with apps where you have to wait for deploy feel slow by comparison. 1 0 0 0 279 .
Feb 20 We ended up with a chunky script that auto-installs everything and uses Nginx & Passenger to serve apps. To start a new vm you just create an ssl cert with certbot, add a few lines to the Nginx config to point the domain to the app folder. Then it just stays running. 1 0 0 0 271 .
Feb 20 The server setup was by far the most involved part of the process. We wanted to be able to easily spin up a new server that serves a Rails app and requires zero dev-ops knowledge to keep alive once provisioned. 2 0 0 0 210 .
Feb 20 Diving In Our first port of call was browser-based tools. We tried @gitpod, @Codeanywhere, and CodeSpaces, which all use @code, but inside the browser. The ease of setup and replicability was great, but coding in the browser still felt like a step backwards vs native @code 1 0 0 0 274 .
Feb 20 So we ditched the browser products and went VScode-first. The downside is that we had to set up our own server. The upside is that, provided the server is geographically close to the developers, it feels completely identical to an offline-first setup. 2 0 0 0 252 .
Feb 20 3. Is architecturally capable of treating remote file systems identically to local ones. Since early 2022, Microsoft @code has had all three. The consequences and applications of this still seem under-appreciated, but that's for another day. 1 0 0 0 242 .
Feb 20 Up until recently, running this experiment was a non-starter, because the amount of behavioural and ergonomic change required was simply too high. 2 0 0 0 146 .
Feb 20 In order for this to work, there needed to be a tool that: 1. Is ubiquitous enough that most devs already use it. 2. Has really great built-in support for the "non-text-editor" parts of building software (version control & terminal), and... 2 0 0 0 245 .
Feb 20 Additionally, software programming is an area where ergonomics matter a lot. Most developers have spent a lot of time customising their setup to suit how they work, so this also needs to be considered. 2 0 1 210 201 .
Feb 20 This is a radical idea in more ways than one. Writing software collaboratively is different to writing documents collaboratively. With word processing, if I make a change on page 8, it doesn't affect my colleagues work on page 2. With software it can, and it does. 2 0 0 0 264 .
Feb 20 Because of this, developers are rightfully protective of their workspaces, so asking them to code alongside each other, where everyone can see and modify the same code in real time, feels jarring and takes a lot of getting used to. 2 0 1 212 231 .
Feb 20 There is lots of value in that, but it doesn't solve the "many versions" problem I mentioned above. We wanted to go a bit further. So, for our smaller projects (2 developer team), we switched to doing all development on one single online-by-default environment. https://t.co/ZgQbd4zFHC 2 0 0 0 287 .
Feb 20 Remote Development has advantages for 1. Developer Productivity and 2. Team Collaboration. It's been growing in popularity recently, but most of the discourse seems focused on 1. (Developer Productivity), and giving each developer their own online-by-default environment. https://t.co/KqDKvbxqiA 1 0 0 0 295 .
Feb 20 Why does this interest me? IMO, one of the biggest barriers to building software as an iterative group design process, is the cognitive and operational friction introduced by having many (mostly offline) versions of the same software at the same time. https://t.co/bnl9acsDTX 2 0 0 0 277 .
Feb 20 Remote Development is a way to build software that is online-by-default. Whenever you make a code change, your colleagues see the updates to the software immediately. Similarly, other developers can also see the changes you've made to the code immediately. No "push" needed. 1 0 0 0 274 .
Feb 20 First, what's "Remote Development"? Usually, when a developer writes a software program, that program runs on *their* computer. The files, the application and the database are not connected to the internet and can't be viewed by anyone else until they proactively "push" it. https://t.co/e5KHpbRrbH 3 0 0 0 299 .
Feb 20 Last year, my team started a "Remote Development" experiment. We're still iterating, but it's already a core part of our workflow. The learnings are broadly applicable/interesting to both a technical & non-technical audience, so I've written this thread for both. 👇 11 1 1 1.9k 271 .
Feb 12 @myles_cooks @reflectnotes Yup! I built it and never properly launched it. https://t.co/iqEBXttgyL to sign up https://t.co/kolGprMkjE 1 0 0 0 133 .
Feb 11 Hot take: This was one of the worst ideas in @JamesClear’s book. Not because compounding isn’t powerful, but because *daily compounding*, applied to human behaviour, for a year, is preposterous. https://t.co/kWiSNsb2Or 2 0 0 0 218 .
Feb 10 @mikenikles And once it becomes accepted, it becomes invisible. Good example is the fact that despite most browsers support css/js code splitting now, it’s still super rare to find a codebase that doesn’t do pre/post compilation (which requires additional conceptual and tooling knowledge) 0 0 0 0 289 .
Feb 10 @mikenikles In that way, every new approach to “doing stuff properly” seems justifiable in isolation, but stack them up over time and it’s death by a thousand small cuts. 0 0 0 0 170 .
Showing 601-700 of 1587 tweets
← Prev 1 ... 6 7 8 ... 16 Next →