Techciting Issue #3 ✨ — May 30, 2023
A bit late but here are some recent interesting stuff!
Hey everyone! Thanks for dropping by! This issue is a bit late coz I got involved in a bunch of work and life stuff, but here we are again!
This issue is a mix of some AI and other stuff so I hope you learn something new here! 🎉
1. Make GPT Output Format Actually Useful
… in applications!
Category: AI
Have you ever tried using LLMs or even ChatGPT in an application and found that you didn’t really get the output format you expected? GPT-JSON has a solution for that!
GPT-JSON allows you to define the format/schema/shape of the output you want, with some added bonus features like removing extra fluff you don’t need that might break the parsing, automagically fixing broken JSON, and auto-retries.
Here’s an example from their own README:
class QuoteSchema(BaseModel):
quotes: list[str] = Field(description="Max quantity {max_items}.")
SYSTEM_PROMPT = """
Generate fictitious quotes that are {sentiment}.
{json_schema}
"""
gpt_json = GPTJSON[QuoteSchema](API_KEY)
response, _ = await gpt_json.run(
messages=[
GPTMessage(
role=GPTMessageRole.SYSTEM,
content=SYSTEM_PROMPT,
),
],
format_variables={"sentiment": "happy", "max_items": 5},
)
Learn more about it here:
🔗 GPT-JSON: https://github.com/piercefreeman/gpt-json
2. INSANELY GOOD (and FREE) Low-Code Tool Builder
Category: App Dev
Okay so this one, I am SUPER excited about because I can’t wait to use it for a lot of stuff I’m being asked to build at work. It’s called Windmill, and it’s awesome!
Okay, so if you’ve used stuff like Retool, this is similar to it, but this is FREE, and has some INSANELY GOOD FEATURES, being a free tool, compared to its competitors.
If you’re not familiar with what Retool does, it enables you to build internal tools pretty quickly by dragging and dropping components on to a canvas.
A lot of the open source competitors like Appsmith, Tooljet, and Budibase can do the same, but from my last test of these tools, there are features that Windmill has that its competitors don’t. It’s actually more like Retool + Airflow if you ask me.
Some features of Windmill that I am excited about are:
- Writing scripts in multiple popular languages
- Scheduling and triggering those scripts in multiple ways
- Creating flows that can have loops and conditionals
- Implement approvals, e.g. approver gets an email when some action is attempted to then proceed or deny the execution
These are features that can be complex to implement manually but with tools like these, we can easily implement them by just clicking stuff in a Web UI! Simply magical!
Learn more about it here:
🔗 Windmill: https://www.windmill.dev/
3. Build Full-Stack Apps with Just Python!
Category: App Dev
If you only know Python and want to build applications, Pynecone is a new framework that can help out with that!
Pynecone allows you to create create UI with its library of components, build a backend that works with a database, and then finally host it in Pynecone, or host it yourself in your own servers!
Learn more about it here:
🔗 Pynecone: https://pynecone.io/
4. Build Full-Stack Apps with Just Python!
Category: Python, CI/CD
Ruff is a new tool we’ve started actually experimenting with in our team. We work with a lot of Python code so we wanted a way to quickly lint our code both in our code editor and in our CI/CD pipelines.
You can install with pip install ruff
or poetry add --dev ruff
or whatever way you want to use to install it.
To use Ruff you can runruff check code_directory/
or you can even attempt to fix the issues with ruff check --fix code_directory/
. You can also use an extension to lint in your code editor of choice. Although, it is new so expect some issues. We haven’t experienced any issues in the Ruff CLI itself, but we’ve had issues with the VS Code extension.
Learn more about it here:
🔗 Ruff: https://astral.sh/ruff
5. A Truly Epic Stack for Truly Epic Apps!
Category: App Dev
I was looking around for ways to quickly build complete web applications without trying too hard (I’m a recovering web dev, gimme a break, okayyy). While I was searching around, I found the Epic Stack! It’s an opinionated web app starter pack built by Kent Dodds that contains most of the things you’d need for building an application!
Here are some of the things that they include in the stack:
It feels like it’s overkill, but nevertheless, I want to try this out!
Learn more about it here:
🔗 Epic Stack: https://www.epicweb.dev/epic-stack
And that wraps up this week’s curated collection! I hope you found these links as interesting and exciting as I did. If you have any recommendations or interesting links you’d like to share, please leave a comment below. I’m always on the lookout for new and exciting stuff.
Stay tuned for the next collection, and happy reading! 🎉
Liked this article? Don’t forget to give it a clap! 👏 If you want to stay updated with my curated collections, be sure to follow me here on Medium.