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 ❤️ 🔄 💬 👁 📝
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 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 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 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 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 12 https://t.co/YK8XSux3Ml 0 0 0 225 23 .
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 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 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, 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 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 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 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 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 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 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 .
Feb 10 @mikenikles Also agree with the spirit of that statement (doing stuff properly), the problem it’s normative, subjective, and almost always applied post hoc (in that it wasn’t like people pre typescript were thinking “Ugh this codebase is really not done properly”). 0 0 0 0 265 .
Feb 10 @mikenikles Yeah. And also for those who are used to it, it makes building a bit quicker from what I understand? My very strong hunch is that for crudware (low complexity, low interactivity apps), the ratios are still small and the tradeoffs not worth it. Also this https://t.co/dofPgbYm7s 0 0 0 0 289 .
Feb 10 @mikenikles What’s your guess as to the percentage of bugs you’d find in a non-typed (let’s say ruby/rails as an example), well maintained 4 year old codebase (mid level engineers), vs the same codebase, same age, same seniority, but written with js/ts? Like 20% fewer bugs? 0 0 0 0 274 .
Feb 07 @Shpigford How do we get the name of this stealth startup? 👀 0 0 0 0 60 .
Feb 01 @faborio Needed because VCs expect it, but not actually necessary to build the software 0 0 0 0 87 .
Feb 01 To be fair, the standard of the average outsourced agency isn't known to be very high, and the go-to agency pricing model (hourly/project based) often doesn't work well for startups. Wonder will that change as people are forced to be more honest and lean in the next few years. 2 0 0 0 277 .
Feb 01 Still regularly having conversations where founders are totally convinced that they *need* a technical co-founder for their marketplace/e-commerce/e-learning/health-tech etc. startup, because the dogma is so ingrained and basically completely unquestioned. https://t.co/6Ht3AFQeTX 1 0 0 0 280 .
Feb 01 It's surprising to me that the investor narrative that "Not having in-house tech is a red flag for a startup" still prevails, even though >50% of startups are just a thin layer over real-world processes, and the frontend/backend layers are completely homogenous/undifferentiated 4 0 0 0 281 .
Feb 01 @jakobgreenfeld Only one I haven't seen suggested in replies is @getfernand . No idea if it's good (haven't used) but I use their other product which is really great. 1 0 0 0 166 .
Jan 21 @volkandkaya @framer I may be misreading, but it seems your attitude toward Framer is to dismiss it, which I think is short-sighted, as it's (IMO) going to start to take market-share from other website builders (including Versoly I'd guess), and it's not just because of polish. 0 0 0 0 278 .
Jan 21 @volkandkaya @framer That's a good point and I think if it doesn't work, that'll be the reason why, but my hunch is that that can be solved with smart abstractions vs full access to the html. They may be different use cases though 1 0 0 0 230 .
Jan 21 @volkandkaya @framer I think you're missing the point. It's built in such a way that designers don't need to know react. The react people can do their thing and build out complex stuff, the non-devs can access and control things using the UI. 1 0 0 0 242 .
Jan 21 @volkandkaya @framer On the dev side, the fact that it's built on react, which means devs can re-use and/or build new stuff without changing behaviour. On the builder side, the fact that the UI/UX is intuitive/feels enjoyable to use. Plus the out-of-the-box templates & components are A+ quality 1 0 0 0 299 .
Jan 21 @volkandkaya @framer If you count me, then yes 😊 I'm still playing around with the ability to work with my own react components which is very cool. But a better example is developers building extensions for it that can be copy/pasted in, e.g https://t.co/zJMGtIY29y 1 0 0 0 267 .
Jan 20 @Huperniketes @notengoid @johncutlefish The Ship & Done is in there to highlight how some people (IMO incorrectly) attempt to build software. Wrt manufacturing, you're right that my familiarity is limited, but I'm pretty sure I'm correct to implying that once a product is shipped, it's shipped 0 0 0 0 298 .
Jan 13 @keithwhor @stripe Or companies should make is easier to access data directly via SQL, which is much easier for this kind of stuff than API. There are a few that do this for stripe I think - check out @sequin_io 1 0 0 0 211 .
Jan 13 The obvious downside here is file size & performance. Our current size is 749kb which isn't ideal, but there are still many places it's been useful (simple internal apps for example) There is tailwind play but that's not recommended for prod @tailwindcss/@adamwathan thoughts? 0 0 0 0 282 .
Jan 13 A few months ago I went looking for a "dumb-tailwind" - where you just load in a public css file and it gives you the 95% most-used classes, no need for processors/js. It didn't exist, so I built it. Is that something people would use? Might register https://t.co/qC6q0DlBcP https://t.co/0eC0t8gIW2 0 0 0 0 298 .
Jan 12 @3AmitDhama I believe the "complex process" you're referring to here is what I call "legacy systems" in my original tweet. Aside from AML and fraud detection, there is no reason for it to exist. And no, a standalone payment that requires three inputs is not the same as bookkeeping 0 0 0 0 281 .
Jan 11 Referring specifically to the B2B payments and consumer payments bars on the chart. I know there’s *some* value there, but it feels extractive and rent seek-y. Like how it cost $10 for a short international call before VOIP. Not something I’d bet on or feel proud to build 0 0 0 0 272 .
Jan 11 Making “revenue” from a payment from one party to another, where you provide zero value besides paper over legacy systems, feels like a business model that shouldn’t really exist in a future where the technology exists to send value for fractions of a cent without middlemen, no? https://t.co/GRBuoUVlEH 3 0 0 0 303 .
Jan 04 @TrevMcKendrick I haven't used @retool a lot (we used @ForestAdmin at my last place) but it was the exact same story. I honestly don't think there's a solution - the closest I came was finding an alternative that was also quick but was fully code-driven. V frustrating, but not new or unique fwiw 0 0 0 0 296 .
Jan 01 By that I mean practically speaking. Is the argument that all point-and-click interfaces will switch to being natural language driven? Why would people use a keyboard where a mouse will suffice? If it’s dictation, how does that behaviour change happen? 1 0 0 0 252 .
Jan 01 It’s really difficult to not be skeptical that “AI will replace programming” when pieces like this are what people are sharing. There may be some good arguments, but this is so weak. What does “models will replace programs” even mean? https://t.co/qSP8Xk0DQC 2 0 0 0 260 .
Dec 28 @elcharliep @htmx_org Client apps (shipping and construction) and our own consumer bookmarking tool, so a combo of a few. I have some patterns we re use for things like modals and alerts that I’ll open source at some point 1 0 0 0 222 .
Dec 28 @htmx_org @elcharliep 👋 as a data point here. I run a rails team that intentionally uses htmx instead of hotwire/turbo frames and we're super happy with the decision. Original thinking was that htmx is simpler abstraction-wise, and better documented, which seems to have been proven out. 7 1 0 0 287 .
Dec 24 @htmx_org In a live app with close button added https://t.co/cfhiih3e6v 0 0 0 0 71 .
Dec 24 Xmas Eve hacking: Building an animated toast library with hyperscript, stock tailwind and the teeniest bit of CSS cc @htmx_org https://t.co/Y3I91SJ2yO https://t.co/DPaS7aIszL 9 3 0 0 178 .
Showing 501-600 of 1458 tweets
← Prev 1 ... 5 6 7 ... 15 Next →