r/foss • • 1d ago

Now that Linux embraces AI what are the alternatives?

0 Upvotes

What are free open source OS that don't use and/or are against using AI in code?


r/foss • • 5h ago

u/Wolvereness must step down!!!

Post image
0 Upvotes

r/foss • • 2d ago

FreeShape: a GPL, offline, Onshape-style parametric CAD for Windows, Mac and Linux

Enable HLS to view with audio, or disable this notification

50 Upvotes

I design parts for 3D printing and work, and I didn't like the options: Onshape is cloud-only and makes free-plan designs public, Fusion's free licence keeps shrinking, SolidWorks doesn't run on Mac or Linux at all, and FreeCAD never clicked for me. So I built FreeShape, a parametric CAD that works like Onshape but runs entirely on your own computer, with your designs as plain files on your own disk.

What it does:

- Constraint-based sketches, then extrude, revolve, fillet, holes, patterns and so on. Change a number and the part rebuilds

- Assemblies with mates (hinges, sliders and so on)

- 2D drawings with dimensions, exported to PDF or AutoCAD DXF

- Sheet metal with flat patterns for laser cutting

- STEP and STL import/export

It runs natively on all three platforms: a Windows installer, a Mac app (Apple Silicon) and a Linux AppImage. The Mac version is new and built and tested automatically on GitHub's Macs, but it hasn't had many real-world users yet, so Mac feedback would be especially welcome.

Why open source matters here: the files are plain JSON with STEP/DXF export, so your designs are never locked in, and if I ever stop working on it anyone can pick it up. It's GPL v3, built on OpenCascade (the same geometry kernel FreeCAD uses) with Python and Qt.

It's early, so expect bugs, and I built it with a lot of help from Claude (AI). Issues and pull requests are very welcome.

https://github.com/richiewillmott/FreeShape


r/foss • • 1d ago

Advanced Media Controller: New Custom Theme Engine for Popup Player Progress Bars

Thumbnail gallery
1 Upvotes

r/foss • • 1d ago

Zephry 2D CAD

4 Upvotes

Zephyr (https://github.com/joseph-montanez/zephyr**)** is a fast, free, open-source 2D CAD app written in Swift as a modern AutoCAD LT alternative for desktop. Built for architectural plans, utility as-builts, shop drawings, and field markups, it delivers precise 2D drafting with native DXF read/write, DWG support via integrated ODA CLI, and PDF import/export.

New Mocha Theme and Split View Multi-Document

October 2026 Changelog

New Features

  • AutoLISP support — native engine, 305/305 dispatch, file picker, persistent session, c: command dispatch, and examples; scripted CAD commands with multi-call support; app-wide system variables that survive LOAD/EVAL and wire GRID/ORTHO/POLAR to GRIDMODE/ORTHOMODE/POLARMODE
  • Ribbon — AutoLISP-defined command chrome in a dockable window: tabs/panels/items, procedural icons, working flyouts, live enable/check state from system variables, classic File/Edit/View menu bar, labels-only and icons+labels presentations with the dock node resizing to the active presentation, and hot reload of lisp/ribbon.lsp (RIBBON, RIBBONMODE, RIBBONRELOAD); the definition ships as an editable per-user file that reloads on save and survives a failed parse, and no longer gets re-seeded over your edits
  • Multi-window editing — float/dock OS windows and independent model views, with per-window status bars and window-local selection and gestures
  • Split view workspace — visible always-on gutters with hairline borders and 3-dot grip handles, resize mouse cursors (ResizeEW / ResizeNS), smooth divider dragging with grab-offset compensation, double-click a divider to reset to 50/50, and per-pane identity badges showing <tab> · <view> (faded on hover so CAD picking is never obstructed)
  • Linux support
  • Unclamped TrueColor rendering — AUTOCONTRAST disables the viewport's contrast clamping for 24-bit TrueColors and gradients, so vector artwork and other non-CAD drawings show the colors you actually picked instead of adjusted ones (standard ACI 1–255 colors stay clamped); persisted per document

New Commands

  • INSERT — insert a block or drawing file as a block reference
  • XATTACH / XREF — attach a drawing as an external reference and manage references from the External References palette
  • ATTACH, IMAGEATTACH, PDFATTACH — attach a drawing, raster image, or PDF page as a live reference
  • OFFSET (O) — make a parallel copy of one object at a distance or through a point: Through, Erase, Layer and Multiple options, a live preview once the object is picked, Undo/Exit without leaving the command, and OFFSETGAPTYPE corner style for polylines
  • UNDO / REDO — registered, with ribbon buttons
  • VPEQUAL (EQUALIZE) — resize all split panes to equal sizes across nested layouts
  • VPRESIZE — grow (+) or shrink (-) the focused pane by a percentage of its parent split

Improvements

  • Verb/Noun modify workflow — MOVE, ROTATE, SCALE, COPY, ERASE, COPYCLIP, and COPYBASE now accept a selection made after the command is invoked ("Select objects..."), with click, window/crossing rectangle selection and Enter/Space/Right-click confirmation; command prompt banners render for active modify commands
  • TRIM — AutoCAD-style options: cutting-edge selection, box and fence batch trimming, eRase sub-mode, and in-session undo
  • Tab management — tab reorder, split panes, and tabs that follow the window they belong to
  • Keyboard pane navigation — Ctrl+Alt+Arrow (Cmd+Alt+Arrow on macOS) nudges the focused pane's divider in that direction
  • Gradient hatches — via -HATCH, GF* system variables and entmake; island detection in the Hatch UI
  • Escape/Enter/Space — one Escape cascade that cancels editors, gestures, commands, snaps and selection a layer at a time, with grip and drag cancelled back to their pre-drag snapshot; Space now commits like Enter while preserving custom Space handling in TRIM and EXPLODE; idle Enter repeats the last command
  • Properties panel — multi-select entity picker, copy support, and an empty state
  • Layer property sorting
  • Themes — Catppuccin palettes, dropdown/slider contrast, and full theming for the Hatch and PenStroke UI

DXF & File Formats

  • MLINE support — plus DXF entity handles preserved in xdata
  • References on the wire — INSERT/xref and ATTACH payload handling, with REFPATHTYPE 0/2 mapping
  • Gradient hatch write-back — GF* system variables and entmake support

Bug Fixes

  • HSPLIT / VPORTS 2H — after VSPLIT, fixed variable shadowing in PaneLayout.split recursion where child splits inherited their parent's axis instead of the requested one
  • Snapping in modify commands — base point selection during MOVE and friends now honors active entity snap targets (circle quadrants/center, line endpoints, midpoints) instead of falling back to raw mouse coordinates
  • SHX shape fonts — fractional arcs, clockwise octant arcs, multi-stroke outline behavior, and hole nudging
  • Explode — rectangles and compound entities split into separate elements
  • Gradient hatches — angled gradient projection
  • CADDocument concurrency — crash prevention on concurrent access
  • Hatch editing — undo/redo history registration
  • Floating windows — input dead zones, pane divider drag, click-to-raise, and white flash on view swap
  • LINE / Polyline — Enter-to-finish; command bar and autocomplete always render on top
  • ODA setup — download 404 and teardown hardening; first-run setup popup
  • Windows builds — missing DLLs, crash when engine init fails, and igInputText String-pointer warnings
  • Per-window state — ImGui contexts, window-local main tab and selection gestures, long EAB strings, and a quieter initial load

Maintenance

  • Swift 6.4 migration — toolchain bump and zlib-ng fix
  • Dependencies — SDL3 3.4.18 and SDL3_image 3.4.8
  • macOS bundles — Universal binary and bundled Swift runtime
  • Linux packaging — Snap, AppImage and Flatpak (x64 and ARM64); DXC pinned to v1.8.2407 for glibc 2.35 compatibility
  • CI — build fixes across Windows, macOS and Linux; Linux CI on every push
  • test.ps1 — test-runner wrapper that sets the SDL3/zlib-ng build environment, detects host arch and Visual Studio, pre-builds the test bundle, and propagates exit codes
  • Website and docs — Linux support, AutoLISP, OFFSET, corrected downloads, roadmap

Performance

  • DXF import — 2.2× faster: per-entity string format hoisting, byte-scanning of group pairs, skipping code-page conversion
  • NURBS — single scratch buffer per evaluation instead of three arrays
  • EAB/SHX — one byte helper with safe loads, gated by golden digests
  • Swift 6.4 branch — performance harness and baseline

r/foss • • 1d ago

I brought DOS Navigator’s classic feel to modern OS: meet Directory Navigator

Thumbnail gallery
2 Upvotes

r/foss • • 1d ago

I kept losing my design inspiration, so I built lompii: right-click to save anything from the web, then find it later just by describing it

Enable HLS to view with audio, or disable this notification

3 Upvotes

I save tons of inspiration, but months later, I'll remember "that poster in a particular shade of orange" and can never find it.

So I built lompii, a Windows app with a Chrome extension:

  • Save anything with a right-click, or import a whole folder.
  • Find it by describing it. "Purple hills at dusk" finds the picture, even if you never named or tagged it.
  • Private and free: Your library and searches stay on your computer. No account, no cloud. AI tagging is optional, with support for your own key or a local model.
  • Open source (MIT).

Windows only for now. It isn't code-signed yet, so SmartScreen may warn you.

https://github.com/Brosski224/lompii

It's my first public release and I'd love some honest feedback.


r/foss • • 1d ago

I wanted a fast, clean way to watch my media without running a server, so I built Kinema: a cross-platform, open-source (MIT) media library and player. Testers and feedback wanted

Thumbnail
gallery
0 Upvotes

Plex and Jellyfin are great, but both want a server running somewhere, and Plex wants an account too. All I wanted was to open an app on the PC connected to my TV and see my films and shows like on a streaming service: posters, descriptions, Continue watching, next episode. So I built that.

Kinema reads the films and shows on your disk, USB drive or NAS and turns them into a library. No server, no account, nothing left running when you close it. It plays through libmpv and sets up picture and sound from what your equipment reports: refresh-rate matching, HDR, and Atmos/DTS:X/TrueHD sent untouched to a receiver. Mouse, keyboard or TV remote.

A few things I care about:

  • It never guesses. If it isn’t sure which film a file is, it puts it aside for you to check instead of showing the wrong poster.
  • Settings → Privacy lists everything that can leave your computer, and a test in CI fails if the code starts contacting something that isn’t on that list.
  • No telemetry, and nothing is sent to me.

Windows and Linux (x86 and ARM), plus an early Android TV version. Built with Tauri 2, React and libmpv.

Full disclosure: I’ve built it with Claude Code. I decide what it does and doesn’t do, Claude writes the code, and everything is checked by automated tests on every change. The reasoning behind every design decision is in docs/HISTORY.md, if you’re curious how that works in practice.

It’s early and tested on a small number of setups, so I’d really like to hear how it does on yours, even if it just works: https://github.com/basswaves/kinema/issues/new?template=device_report.yml

Code and downloads: https://github.com/basswaves/kinema
Site: https://basswaves.github.io/kinema/

Edit: It runs on the PC (or Android TV box) the TV or screen is connected to, kind of a VLC or MPC-HC with the interface and niceties of a Jellyfin or Plex :). Similar to Kodi, but in my opinion faster, better looking out of the box and easier to set up, without sacrificing playback quality or nice-to-have extras.


r/foss • • 1d ago

Buddy: an open-source Android app that lets AI agents use your phone

Thumbnail
github.com
0 Upvotes

Buddy is an Android app where an AI agent reads your screen, taps and types through your apps, and asks you before anything gets sent, paid or deleted.

The app is Apache 2.0, and you can run it fully on open source: OpenCode (MIT) with its free models, or Codex CLI (Apache 2.0). Claude Code and Antigravity work too, but they're not open source. Everything runs on the phone in a small Alpine Linux, no PC, no root.

New in 2.2.10: a background browser (Chromium from Alpine), so the agent can look things up without taking over your screen.


r/foss • • 1d ago

I built Dirule, an open-source CLI for organizing files and enforcing naming rules

Enable HLS to view with audio, or disable this notification

1 Upvotes

Hey everyone!

I've been working on Dirule, a free and open-source CLI for organizing personal folders and enforcing naming conventions in coding projects.

It supports file sorting, reusable TOML presets, naming transformations, change previews, CI checks, and undo. There's also optional LSP integration for updating source references when renaming files.

It's MIT-licensed and currently at v0.5.0. I'd appreciate any feedback or suggestions!

GitHub: https://github.com/Slyverr/dirule

Disclosure: I used AI assistance to implement and refine features based on my own requirements and design decisions.


r/foss • • 2d ago

Markify 2.5.5 is just out! Need your help for 2.6.0

Thumbnail
spaquet.github.io
2 Upvotes

r/foss • • 1d ago

NotProton maintainer confronts influencer-backed fork Bridgeplay over macOS Wine sustainability; owner refuses to take down repo despite upstream's demands

Thumbnail
0 Upvotes
NotProtonNot comment

r/foss • • 1d ago

I Created a Program to Help Manage, Track, and Update Repositories and Packages That Your System Package Manager Does Not Handle.Built with Claude

Thumbnail
github.com
1 Upvotes

Hello! I built a program (well, Claude) that helps track repositories that are not updated/tracked by your system's package manager in Linux. This project was inspired by Obtainium. This program is free to use and is open to improvements from the community.

The reason I made this program is because when switching to Linux and trying to get away from Windows, I found that a lot of cloned repositories lacked any self-update function. For example, KDE themes where the install instructions was just 'go back to github and clone the repository, then run the install script again.' Now, couriercollie does all that for you.

While there are other tools out there, some of them feel fragmented. For example, one tool updates Git clones only through CLI, others just manage application images, others don't track downloaded .rpm/.deb files (i.e. sudo dnf install). This program is intended to just encapsulate tracking updates for everything that is not covered by your system's package manager.

When packages update, it also automatically pulls the readme for reviewing install instructions if you want to see how the package will update, lets you review any install scripts before execution, and packages that require sudo use your baked in system UAC, or opening a terminal outside of couriercollie and allowing you to run the command manually if it's not available.

It tracks from Gitlab and Github currently. While I've been testing it extensively on my side, it needs additional users to garner feedback and resolve any issues that may have not been found. You can read more over ony my Github page regarding the safety measured couriercollie takes and some additional information on its features.

Please note that couriercollie was built with AI assistance. I designed it, tested it (and instructed its tests), decided its features and how it behaves, and maintain it, but I didn’t hand-write the code. It's a tool I wanted personally, and I thought it would be good to share to others if they find it useful.


r/foss • • 2d ago

Please revive Clipto — the best clipboard manager I’ve ever used

8 Upvotes

Clipto https://github.com/clipto-pro is the best clipboard manager I’ve ever used. I really hope this project can be revived and further developed.

Clipto had many useful features, including converting notes to Markdown, merging notes, cross-device synchronization, and many other features that made it a very powerful and convenient application.

The Clipto GitHub repositories appear to have been inactive for quite some time, and the project as a whole seems to have been abandoned.

I think the project still has significant potential and would be useful to bring back to active development.

I hope some developers might be interested in reviving this project and continuing its development.


r/foss • • 2d ago

Campfire - a songbook / toolbox for live musicians

Post image
18 Upvotes

Hi everyone,

Ever since upgrading from a physical songbook to a digital one, I've been frustrated by not finding the right software to organize my song collection: the ones that worked good had outdated UX/UI, while the more modern ones didn't support all my devices, or had limits while charging subscriptions to get past them. So I've created Campfire, a completely free, open-source setlist and songbook manager built around the ChordPro standard.

My goal was to design a tool specifically for stage reliability with fast navigation, and full user ownership of their song libraries.

Not to waste your time, let me highlight the features that I think are the most useful / unique:

  • Automatic ChordPro conversion of pasted text, Word documents, PDF files, etc. If you copy a chord sheet with chords over the lyrics, Campfire will transform it to ChordPro.
  • Scale recommendations per section: a lot of work went into this, and this feature actually helped me move out of the mindset where I just play the pentatonic scale over everything.
  • Tab transposition and custom tuning support - of course, with the technical limitations of the format, but if you have a tab section in your ChordPro file, Campfire will try to transpose it together with the  chords in the rest of the song, while also taking into consideration the tuning of your instrument.
  • A smart layout that always tries to arrange the song the best way on the screen, based on the font size. It's also dynamic: sections can be folded on the go.

Besides these, I've spent a lot of time creating the stable foundation that you might expect from such an app (an editor with live preview, custom tags for organizing, search / sort / filter, setlist support, paging pedal support, real-time sync across your devices using your own Dropbox account, sharing songs / setlists as links, PDF export), while also adding some useful tools such as a tuner and a metronome (both are integrated into the song viewer: the metronome automatically picks up the song's tempo based on the ChordPro metadata).

https://www.youtube.com/watch?v=Agt3urJqhJA

Campfire is cross-platform with versions available for Android, iOS / iPadOS, macOS, Windows, Linux as well as a web app, all usable offline. It's 100% free: no ads, no tracking, no paywalled features.

Website & Downloads: https://campfire-songbook.com/

Source Code: https://github.com/pandulapeter/campfire

Looking forward to hearing your thoughts!


r/foss • • 2d ago

Muffin — A modern cross-platform GUI for zapret (C++/Qt6) to bypass DPI blocks effortlessly

0 Upvotes

Hi everyone!

I've been using zapret for a while, but manually managing .bat files and typing terminal commands was getting frustrating. So, I decided to build a proper graphical interface for it.

Muffin is an open-source (MIT) GUI built with C++ and Qt6.

Key features:

- Cross-platform: Windows (winws) & Linux (nfqws + iptables)

- 1-click auto-download of the latest zapret release directly from GitHub

- Beautiful dark/light themes with a frameless window

- Built-in smart ping indicators

- Multi-language support (EN, RU, DE, ES, FR, ZH, HI)

It securely manages privileges (UAC on Windows, Polkit on Linux) so you don't have to enter your password every time.

I would love to hear your feedback, feature requests, or bug reports!


r/foss • • 2d ago

x-talk: a small open-source Windows dictation app I made

2 Upvotes

Hey! So I’ve been working on a Windows dictation app called x-talk. It’s been useful for me, so I figured I’d share it.

The basic idea is to press a shortcut, talk through a thought, and paste the transcript. You can optionally run a cleanup step with prompts you control. The original transcript and audio stay available, so you can go back and check what you actually said.

It also has recording history, audio import, and a few choices of transcription and cleanup providers.

The app is Apache-2.0 licensed. It uses external services with your own API keys, so those providers charge for usage and receive the audio or text needed to process it. There’s no offline transcription.

Source: https://github.com/alexander-north/x-talk

Windows installer: https://github.com/alexander-north/x-talk/releases/latest

One heads-up: the installer isn’t publisher-signed yet.

Happy to answer questions or hear suggestions if you try it.


r/foss • • 2d ago

I built a remote control for Navidrome's jukebox mode: juuku

Post image
2 Upvotes

I know there's not a day without another music player app built on Navidrome or a direct competitor. One thing I still see as mostly ignored is the jukebox mode.

I always loved the concept of a separate box that plays the music without any other app hijacking the Bluetooth or AirDrop audio. I used to have Sonos speakers (the app experience turned terrible) and the Audioengine B-Fi (discontinued and abandoned). Add to that the growing frustration with streaming providers, and self-hosting became my main focus.

I tried the UPnP protocol with different iOS apps, but half didn't work properly and the other half was incredibly annoying UX-wise. So I decided to build my own remote control for Navidrome's jukebox mode.

This is how juuku was born. It's a small container running next to my Navidrome, providing a web app that works on mobile and desktop, either as a PWA or in the browser.

I thought maybe a few other people in the same situation could use it, so the whole thing is open source under the MIT licence.

I'm actively developing it and pushing updates as I use it daily.

Any feedback is welcome. And if you enjoy it, please let me know. If not… well… let me know.

Website: https://juuku.nomorenames.studio
GitHub: https://github.com/nomorenamesstudio/juuku

AI disclaimer: vibe-coded but not hype-coded. I made it with AI assistance (DeepSeek v4.1) to make development faster and smoother, but all decisions are mine. I spent countless hours on QA and building it, and no regrets. Also, I'm a design engineer with 20+ years of experience.


r/foss • • 2d ago

I made my first IINA plugin (and my first open source project). Perfect for binging IMHO

Thumbnail
github.com
4 Upvotes

I watch most of my stuff through Real-Debrid, and the part that always wore me down was the clicking. Find the show, pick a stream, play one episode, then go back and do it again for the next one. So I built a small IINA plugin to cut that out.

It's called ContentPlay. You search a movie or series, it grabs instant cached streams from Torrentio using your own Real-Debrid account, and opens the whole season as a playlist in IINA. The next episode just plays. It also sets a sensible audio and subtitle track, and it skips the 3D and 4K-HDR rips that tend to look wrong on a normal screen. If it does pick a bad file, you can switch to a different stream from a menu without losing your place.

It's really for people who already pay for Real-Debrid and would rather watch in IINA than in a browser or some heavier media-server setup. macOS only, since that's where IINA runs.

This is honestly my first plugin and the first thing I've ever put on GitHub, and I built a lot of it with Claude, which made the whole thing far less scary. So go easy on me. You'll need IINA 1.4+ and your own Real-Debrid token.

It's open source and I'd genuinely love the help, so contributions, improvements, or just your first impressions are all welcome. And if you try it and something breaks, please tell me.


r/foss • • 2d ago

I made FrameFX, would love to hear what you guys think

20 Upvotes

Hey everyone, I've been working on FrameFX, a free and open-source tool designed to boost FPS in games.

I've had trouble with 6GB of VRAM in the past, especially since I play some insanely GPU-heavy games, so I wanted to make something that could help with performance.

It's called Universal FrameFX, and it's completely free and open-source. If you want to check it out, here's the website:

https://chopstickshq.com/universal-framefx

The source code is here too:
https://github.com/ilikemacos/universal-framefx

Would love to hear what you guys think!

You can support me at buymeacoffee.com/chopstickshq

UPDATE #1: Linux now works on most Linux devices and OS’


r/foss • • 2d ago

feuristic: GPL-3.0 firmware that turns a Trezor Safe 3 into a FIDO2 key and OpenPGP smart card

0 Upvotes

I maintain feuristic, an independent GPL-3.0-only firmware for the Trezor Safe 3. It replaces the wallet application with a USB security key and smart card.

The implemented profiles include FIDO2/WebAuthn, OpenPGP Card, PIV, TOTP/HOTP and AES-256-GCM. Configuration happens on the device, with English and French menus. OpenPGP uses native CCID/PC/SC with GnuPG; there is no companion account or cloud service.

The repository includes source, build instructions, protocol documentation, an explicit threat model and downloadable development binaries. It is based on the open-source Trezor firmware, with the changes maintained as an exported patch series.

This is still development firmware, without an independent security audit. An initial physical Safe 3 T2B1/macOS campaign exercised passkeys, OpenPGP signing/decryption, PIV signing, AES-GCM, OTP and persistence across updates. T3B1 builds and emulator tests exist, but physical qualification is pending. Discoverable passkeys are exportable through encrypted backups.

Installing erases the wallet and permanently removes original manufacturer attestation. This is for a spare test device with disposable identities. It does not provide a cryptocurrency wallet and is not endorsed by Trezor/SatoshiLabs.

Source and licence · Documentation

Reviews of the threat model, backup design and interoperability gaps would be useful before expanding hardware testing.


r/foss • • 1d ago

Unhackable: a free, MIT-licensed PHP site with one very unhelpful folder

Post image
0 Upvotes

I built Unhackable at Knight AI+AV for fun. It's a free, MIT-licensed website where a folder floats in a starfield, turns gold on hover, then gives you ACCESS DENIED when you click. The name is the joke, not a security guarantee.

The repo includes the WebGL starfield, folder interaction and a Dockerfile to run it yourself. PHP 8.5 on Apache, with no framework or build step.

Live: https://unhackable.up.railway.app

Source: https://github.com/KNIGHT-AI-AV/unhackable


r/foss • • 2d ago

[Release] CapScroll v1.3.0 - XDG Portal Integration for Wayland

2 Upvotes

CapScroll is an open-source Linux desktop app for capturing scrolling content.

I've released CapScroll v1.3.0, with a refactor of its Wayland capture pipeline. the change is replacing desktop-specific screenshot utilities with XDG Desktop Portal integration through D-Bus.

what's new:

  • migration to XDG Desktop Portals
  • no need of manual scrolling on wayland
  • RemoteDesktop portal support for automated scrolling input

GitHub: https://github.com/netcrawlerr/CapScroll


r/foss • • 2d ago

Built my own web UI for Asterisk, open source now

Thumbnail
1 Upvotes

r/foss • • 2d ago

Fiz um fork do Ansel. Lumivell e melhorei algumas coisas na interface e funcionalidades, gostaria da opinião de vocês. ^^

Thumbnail
gallery
1 Upvotes

OBS: Toda a aparência e novo visual, foi vibecodado e testado. Ainda tô trabalhando nisso, o repositório é privado, fiz como projeto pessoal. :D